{"id":140,"date":"2026-02-22T07:02:08","date_gmt":"2026-02-22T13:02:08","guid":{"rendered":"http:\/\/docus.balamsoftware.net:8060\/?p=140"},"modified":"2026-02-23T00:58:36","modified_gmt":"2026-02-23T06:58:36","slug":"probank-e-lana-endpoints","status":"publish","type":"post","link":"https:\/\/docus.balamsoftware.net\/?p=140","title":{"rendered":"BS_ProBank_MS EndPoints"},"content":{"rendered":"\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT LISTA CLIENTE ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: LISTA CLIENTES -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">GET<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/cliente\/lista_cliente<\/span>\n      <span class=\"pb-endpoint-domain\">Cliente<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83d\udccb LISTA DE CLIENTES<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Obtiene un listado paginado de todos los clientes registrados en el sistema.\n      Permite filtrar por nombre y otros criterios.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- QUERY PARAMS -->\n    <div class=\"pb-section-title\">\ud83d\udd0d QUERY PARAMETERS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Par\u00e1metro<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">page<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge\">OPC<\/span><\/span>\n        <span class=\"pb-table-cell\">N\u00famero de p\u00e1gina (default: 1)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">limit<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge\">OPC<\/span><\/span>\n        <span class=\"pb-table-cell\">Registros por p\u00e1gina (default: 10)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">nombre<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge\">OPC<\/span><\/span>\n        <span class=\"pb-table-cell\">Filtro por nombre (b\u00fasqueda parcial)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">correo<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge\">OPC<\/span><\/span>\n        <span class=\"pb-table-cell\">Filtro por correo electr\u00f3nico<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR 403 (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR (403)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n  \"timestamp\": \"2026-02-22T22:18:23.195+00:00\",\n  \"status\": 403,\n  \"error\": \"Forbidden\",\n  \"path\": \"\/api\/cliente\/lista_cliente\"\n}<\/pre>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"data\": [\n    {\n      \"id\": 813411,\n      \"nombre\": \"ARD-JUMP-01\",\n      \"celular\": \"000000001\",\n      \"correo\": \"ARD-JUMP-01@balamsoftware.net\",\n      \"tipousuario\": {\n        \"id\": 2,\n        \"descripcion\": \"usuario regular\"\n      }\n    },\n    {\n      \"id\": 813412,\n      \"nombre\": \"Ejemplo Cliente\",\n      \"celular\": \"000000002\",\n      \"correo\": \"cliente@email.com\",\n      \"tipousuario\": {\n        \"id\": 2,\n        \"descripcion\": \"usuario regular\"\n      }\n    }\n  ],\n  \"total\": 150,\n  \"page\": 1,\n  \"limit\": 10,\n  \"totalPages\": 15\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Listado obtenido correctamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token JWT inv\u00e1lido o ausente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">401<\/span><\/span>\n        <span class=\"pb-table-cell\">Unauthorized<\/span>\n        <span class=\"pb-table-cell\">Credenciales incorrectas<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 Token JWT en header Authorization \u00b7 403 = token inv\u00e1lido o ausente (como en la imagen)\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT INDIVIDUAL CON ESTILO HOMOLOGADO ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O QUE FUNCIONA *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS - Igual que el dise\u00f1o exitoso *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT - Estilo tabla de endpoints *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO - Estilo pb-block *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* ===== ESTILO DE TABLA HOMOLOGADO ===== *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES - Estilo pb-tag *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO - Estilo consistente *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS - Estilo pb-flow adaptado *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE - Estilo pb-title para subsecciones *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: CONSULTA CLIENTE POR ID -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER - Exactamente igual que la tabla de endpoints -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/cliente\/consulta_cliente_id<\/span>\n      <span class=\"pb-endpoint-domain\">Cliente<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO DESCRIPTIVO -->\n    <div class=\"pb-title\">\ud83d\udd0d CONSULTAR CLIENTE POR ID<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Consulta la informaci\u00f3n detallada de un cliente espec\u00edfico utilizando su ID \u00fanico.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA - Estilo pb-block -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"id_Cliente\": 19\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS - Estilo tabla de endpoints -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <!-- HEADER DE TABLA -->\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <!-- FILA 1 -->\n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_Cliente<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico del cliente<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"id\": 19,\n  \"nombre\": \"ARD-JUMP-01\",\n  \"celular\": \"000000001\",\n  \"correo\": \"ARD-JUMP-01@balamsoftware.net\",\n  \"tipousuario\": {\n    \"id\": 2,\n    \"descripcion\": \"usuario regular\"\n  }\n}<\/pre>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR (403)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent); color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n  \"timestamp\": \"2026-02-22T21:54:32.423+00:00\",\n  \"status\": 403,\n  \"error\": \"Forbidden\",\n  \"path\": \"\/api\/cliente\/consulta_cliente_id\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Consulta exitosa<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token inv\u00e1lido o ausente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">ID no existe<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Contactar a soporte<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Requiere token JWT en header \u00b7 ID debe ser num\u00e9rico \u00b7 403 = sin autenticaci\u00f3n\n    <\/div>\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT REGISTRO CLIENTE ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: REGISTRO CLIENTE -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/cliente\/registro_cliente<\/span>\n      <span class=\"pb-endpoint-domain\">Cliente<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83d\udcdd REGISTRO DE CLIENTE<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Registra un nuevo cliente en el sistema ProBank &#8211; e-Lana. \n      El endpoint recibe los datos del cliente y devuelve el ID del nuevo registro creado.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">No requerida<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"nombre\": \"ARD-JUMP-01\",\n  \"celular\": \"0000000001\",\n  \"correo\": \"ARD-JUMP-01@balamsoftware.net\",\n  \"tipousuario\": {\n    \"id\": 2\n  }\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">nombre<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Nombre completo del cliente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">celular<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">N\u00famero de tel\u00e9fono celular<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">correo<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Correo electr\u00f3nico (debe ser \u00fanico)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">tipousuario<\/span>\n        <span class=\"pb-table-cell\">object<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Objeto con ID del tipo de usuario<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">tipousuario.id<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">2 = usuario regular<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"resultado\": \"813411\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">resultado<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">ID del cliente reci\u00e9n creado<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Cliente registrado exitosamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">Datos inv\u00e1lidos o faltantes<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">409<\/span><\/span>\n        <span class=\"pb-table-cell\">Conflict<\/span>\n        <span class=\"pb-table-cell\">Correo electr\u00f3nico duplicado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      tipousuario.id=2 = usuario regular \u00b7 El ID de respuesta viene como string \u00b7 El correo debe ser \u00fanico en el sistema\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT ACTUALIZAR CLIENTE ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: ACTUALIZAR CLIENTE -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">PUT<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/cliente\/actualizar_cliente<\/span>\n      <span class=\"pb-endpoint-domain\">Cliente<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\u270f\ufe0f ACTUALIZAR CLIENTE<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Actualiza los datos de un cliente existente en el sistema. \n      Requiere el ID del cliente y env\u00eda todos los campos para actualizaci\u00f3n completa.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n    \"id\": 60,\n    \"nombre\": \"Alan Terry Coleman\",\n    \"celular\": \"9988776655\",\n    \"correo\": \"talan@gmail.com\",\n    \"fecha_registro\": \"2024-01-17T20:57:35\",\n    \"tipoUsuario\": {\n        \"id\": 2\n    }\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico del cliente a actualizar<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">nombre<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Nombre completo del cliente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">celular<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">N\u00famero de tel\u00e9fono celular<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">correo<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Correo electr\u00f3nico<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">fecha_registro<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Fecha en formato ISO (YYYY-MM-DDTHH:MM:SS)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">tipoUsuario<\/span>\n        <span class=\"pb-table-cell\">object<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Objeto con ID del tipo de usuario<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">tipoUsuario.id<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">2 = usuario regular<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR 403 (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR (403)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n    \"timestamp\": \"2026-02-22T22:26:15.043+00:00\",\n    \"status\": 403,\n    \"error\": \"Forbidden\",\n    \"path\": \"\/api\/cliente\/actualizar_cliente\"\n}<\/pre>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n    \"id\": 60,\n    \"nombre\": \"Alan Terry Coleman\",\n    \"celular\": \"9988776655\",\n    \"correo\": \"talan@gmail.com\",\n    \"fecha_registro\": \"2024-01-17T20:57:35\",\n    \"tipoUsuario\": {\n        \"id\": 2,\n        \"descripcion\": \"usuario regular\"\n    },\n    \"mensaje\": \"Cliente actualizado exitosamente\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Cliente actualizado exitosamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token JWT inv\u00e1lido o ausente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">El ID del cliente no existe<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">Datos inv\u00e1lidos o faltantes<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 Se debe enviar el objeto completo \u00b7 fecha_registro en formato ISO \u00b7 403 en imagen = token requerido\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT CONSULTA CUENTA CLIENTE ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: CONSULTA CUENTA CLIENTE (RFID\/QR) -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/cuentacliente\/consulta_cta_Cliente<\/span>\n      <span class=\"pb-endpoint-domain\">Cuenta<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83d\udcf1 CONSULTAR CUENTA POR RFID\/QR<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Consulta la informaci\u00f3n de la cuenta de un cliente utilizando los datos de una tarjeta RFID o c\u00f3digo QR.\n      Este endpoint es utilizado t\u00edpicamente por terminales de pago.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"serieFRIDCard\": \"7617381a\",\n  \"folioQR\": \"0\",\n  \"metodoFRIDQR\": 1\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">serieFRIDCard<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">N\u00famero de serie de la tarjeta RFID<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">folioQR<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Folio del c\u00f3digo QR (0 si no aplica)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">metodoFRIDQR<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">M\u00e9todo de lectura: 1 = RFID, 2 = QR<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR 403 (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR (403)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n  \"timestamp\": \"2026-02-22T22:33:41.922+00:00\",\n  \"status\": 403,\n  \"error\": \"Forbidden\",\n  \"path\": \"\/api\/cuentacliente\/consulta_cta_Cliente\"\n}<\/pre>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"idCuenta\": 1001,\n  \"noCuenta\": \"1234567890\",\n  \"idCliente\": 60,\n  \"nombreCliente\": \"Alan Terry Coleman\",\n  \"saldo\": 15000.50,\n  \"estado\": \"ACTIVA\",\n  \"tipoCuenta\": {\n    \"id\": 1,\n    \"descripcion\": \"Cuenta de ahorro\"\n  }\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idCuenta<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID interno de la cuenta<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">noCuenta<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">N\u00famero de cuenta visible<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idCliente<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID del cliente titular<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">nombreCliente<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Nombre del cliente titular<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">saldo<\/span>\n        <span class=\"pb-table-cell\">decimal<\/span>\n        <span class=\"pb-table-cell\">Saldo disponible en la cuenta<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">estado<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">ACTIVA, INACTIVA, BLOQUEADA<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Cuenta encontrada exitosamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token JWT inv\u00e1lido o ausente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">RFID\/QR no encontrado o sin cuenta asociada<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">Datos inv\u00e1lidos en la petici\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 metodoFRIDQR: 1 = RFID, 2 = QR \u00b7 El 403 en imagen indica token requerido \u00b7 Usado por terminales de pago\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT CONSULTA SALDO ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: CONSULTA SALDO -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/saldo\/consulta_saldo<\/span>\n      <span class=\"pb-endpoint-domain\">Saldo<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83d\udcb0 CONSULTAR SALDO<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Consulta el saldo disponible de una cuenta espec\u00edfica. \n      El endpoint recibe el n\u00famero de cuenta y devuelve el saldo actual.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY (mostrando los dos ejemplos de la imagen) -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY (Ejemplo 1)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n    \"cta_cliente\": \"271872026\"\n}<\/pre>\n    <\/div>\n\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY (Ejemplo 2)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n    \"cta_cliente\": \"174978393\",\n    \"saldo\": \"0.0\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">cta_cliente<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">N\u00famero de cuenta del cliente (10 d\u00edgitos)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">saldo<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge\">OPC<\/span><\/span>\n        <span class=\"pb-table-cell\">Puede enviarse pero no es requerido para consulta<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR 403 (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR (403)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n  \"timestamp\": \"2026-02-22T22:37:32.308+00:00\",\n  \"status\": 403,\n  \"error\": \"Forbidden\",\n  \"path\": \"\/api\/saldo\/consulta_saldo\"\n}<\/pre>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada basada en el ejemplo) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n    \"cta_cliente\": \"271872026\",\n    \"saldo\": 15420.50,\n    \"moneda\": \"MXN\",\n    \"fecha_consulta\": \"2026-02-22T22:40:00.000+00:00\",\n    \"estado\": \"ACTIVA\"\n}<\/pre>\n    <\/div>\n\n    <!-- RESPUESTA EXITOSA (segundo ejemplo) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (Ejemplo 2)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n    \"cta_cliente\": \"174978393\",\n    \"saldo\": 0.0,\n    \"moneda\": \"MXN\",\n    \"fecha_consulta\": \"2026-02-22T22:40:00.000+00:00\",\n    \"estado\": \"ACTIVA\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">cta_cliente<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">N\u00famero de cuenta consultada<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">saldo<\/span>\n        <span class=\"pb-table-cell\">decimal<\/span>\n        <span class=\"pb-table-cell\">Saldo disponible en la cuenta<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">moneda<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Tipo de moneda (MXN, USD, etc.)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">fecha_consulta<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Fecha y hora de la consulta (ISO)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">estado<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Estado de la cuenta (ACTIVA, INACTIVA, BLOQUEADA)<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Saldo consultado exitosamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token JWT inv\u00e1lido o ausente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">N\u00famero de cuenta no existe<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">Formato de cuenta inv\u00e1lido<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 cta_cliente debe ser string de 10 d\u00edgitos \u00b7 El campo \u00absaldo\u00bb en request es opcional \u00b7 403 en imagen = token requerido\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT LOGUEO USUARIO ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: LOGUEO USUARIO -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/usuario\/logueo_usuario<\/span>\n      <span class=\"pb-endpoint-domain\">Auth<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83d\udd10 LOGUEO DE USUARIO<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Endpoint de autenticaci\u00f3n que permite a los usuarios iniciar sesi\u00f3n en el sistema.\n      Recibe credenciales y devuelve un token JWT para autorizaci\u00f3n en otros endpoints.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">No requerida<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n    \"usuario\": \"jimena@gmail.com\",\n    \"password\": \"249467\",\n    \"id_tipo_usuario\": 3\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">usuario<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Correo electr\u00f3nico o nombre de usuario<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">password<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Contrase\u00f1a del usuario<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_tipo_usuario<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">3 = tipo de usuario espec\u00edfico<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR 403 (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR (403)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n    \"timestamp\": \"2026-02-22T22:41:30.726+00:00\",\n    \"status\": 403,\n    \"error\": \"Forbidden\",\n    \"path\": \"\/api\/usuario\/logueo_usuario\"\n}<\/pre>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n    \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...\",\n    \"tipo\": \"Bearer\",\n    \"expira_en\": 3600,\n    \"usuario\": {\n        \"id\": 60,\n        \"nombre\": \"Jimena\",\n        \"correo\": \"jimena@gmail.com\",\n        \"id_tipo_usuario\": 3\n    }\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">token<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Token JWT para autenticaci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">tipo<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Tipo de token (Bearer)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">expira_en<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">Tiempo de expiraci\u00f3n en segundos<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">usuario<\/span>\n        <span class=\"pb-table-cell\">object<\/span>\n        <span class=\"pb-table-cell\">Datos b\u00e1sicos del usuario autenticado<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Login exitoso, token generado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Credenciales incorrectas (usuario\/contrase\u00f1a inv\u00e1lidos)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">Campos faltantes o formato inv\u00e1lido<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Este endpoint NO requiere token (es p\u00fablico) \u00b7 El 403 indica credenciales incorrectas \u00b7 id_tipo_usuario=3 seg\u00fan el ejemplo \u00b7 El token recibido debe usarse en header Authorization para otros endpoints\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT TWO FACTOR KEY ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: TWO FACTOR KEY -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/usuario\/twofactorkey<\/span>\n      <span class=\"pb-endpoint-domain\">2FA<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83d\udd11 GENERAR CLAVE 2FA<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Genera o asigna una clave de autenticaci\u00f3n de dos factores (2FA) para un usuario espec\u00edfico.\n      Esta clave se utiliza para verificaci\u00f3n adicional en el proceso de autenticaci\u00f3n.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n    \"id_Usuario\": 1,\n    \"factorKey\": 826638\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_Usuario<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico del usuario<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">factorKey<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Clave de 2FA (c\u00f3digo num\u00e9rico de 6 d\u00edgitos)<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n    \"id_Usuario\": 1,\n    \"factorKey\": 826638,\n    \"estado\": \"ACTIVO\",\n    \"mensaje\": \"Clave 2FA asignada exitosamente\",\n    \"fecha_asignacion\": \"2026-02-22T22:45:00.000+00:00\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_Usuario<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID del usuario confirmado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">factorKey<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">Clave 2FA asignada<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">estado<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Estado de la clave (ACTIVO, INACTIVO)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">mensaje<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Mensaje de confirmaci\u00f3n<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Clave 2FA asignada correctamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token inv\u00e1lido o sin permisos<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">Usuario no encontrado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">Datos inv\u00e1lidos o faltantes<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">409<\/span><\/span>\n        <span class=\"pb-table-cell\">Conflict<\/span>\n        <span class=\"pb-table-cell\">La clave 2FA ya existe para este usuario<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 factorKey debe ser un n\u00famero de 6 d\u00edgitos \u00b7 id_Usuario debe existir en el sistema \u00b7 Esta clave se usa para verificaci\u00f3n 2FA\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT TWO FACTOR KEY VERIFICACI\u00d3N ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: TWO FACTOR KEY VERIFICACI\u00d3N -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/usuario\/twofactor_Key_verifica<\/span>\n      <span class=\"pb-endpoint-domain\">2FA<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\u2713 VERIFICAR CLAVE 2FA<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Verifica que la clave de autenticaci\u00f3n de dos factores (2FA) proporcionada sea correcta para el usuario.\n      Este endpoint valida el c\u00f3digo ingresado durante el proceso de autenticaci\u00f3n.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"id_Usuario\": 1,\n  \"factorKey\": 826638\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_Usuario<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico del usuario<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">factorKey<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Clave de 2FA a verificar (c\u00f3digo de 6 d\u00edgitos)<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR 403 (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR (403)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n  \"timestamp\": \"2026-02-22T22:53:17.903+00:00\",\n  \"status\": 403,\n  \"error\": \"Forbidden\",\n  \"path\": \"\/api\/usuario\/twofactor_Key_verifica\"\n}<\/pre>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"id_Usuario\": 1,\n  \"factorKey\": 826638,\n  \"valido\": true,\n  \"mensaje\": \"Clave 2FA verificada correctamente\",\n  \"fecha_verificacion\": \"2026-02-22T22:55:00.000+00:00\"\n}<\/pre>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR DE VERIFICACI\u00d3N (401) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR VERIFICACI\u00d3N (401)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n  \"timestamp\": \"2026-02-22T22:55:30.000+00:00\",\n  \"status\": 401,\n  \"error\": \"Unauthorized\",\n  \"message\": \"Clave 2FA incorrecta\",\n  \"path\": \"\/api\/usuario\/twofactor_Key_verifica\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_Usuario<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID del usuario verificado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">factorKey<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">Clave 2FA verificada<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">valido<\/span>\n        <span class=\"pb-table-cell\">boolean<\/span>\n        <span class=\"pb-table-cell\">true si la clave es correcta<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">mensaje<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Mensaje descriptivo del resultado<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Clave 2FA verificada correctamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token inv\u00e1lido o ausente (imagen)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">401<\/span><\/span>\n        <span class=\"pb-table-cell\">Unauthorized<\/span>\n        <span class=\"pb-table-cell\">Clave 2FA incorrecta<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">Usuario no encontrado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">Datos inv\u00e1lidos o faltantes<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 El 403 en imagen indica token requerido \u00b7 El 401 indica clave incorrecta \u00b7 La clave debe ser de 6 d\u00edgitos \u00b7 Usar despu\u00e9s de login exitoso\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT TWO FACTOR KEY MODIFICA STATUS ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: TWO FACTOR KEY MODIFICA STATUS -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/usuario\/twofactor_key_modifica_status<\/span>\n      <span class=\"pb-endpoint-domain\">2FA<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\u2699\ufe0f MODIFICAR ESTADO 2FA<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Modifica el estado de la autenticaci\u00f3n de dos factores (2FA) para un usuario espec\u00edfico.\n      Permite activar, desactivar o cambiar el estado de la clave 2FA.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"id_Usuario\": 25\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_Usuario<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico del usuario<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"id_Usuario\": 25,\n  \"estado_anterior\": \"ACTIVO\",\n  \"estado_nuevo\": \"INACTIVO\",\n  \"mensaje\": \"Estado 2FA modificado exitosamente\",\n  \"fecha_modificacion\": \"2026-02-22T23:00:00.000+00:00\"\n}<\/pre>\n    <\/div>\n    \n    <!-- OPCI\u00d3N DE RESPUESTA CON CAMBIO A ACTIVO -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (Activaci\u00f3n)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"id_Usuario\": 25,\n  \"estado_anterior\": \"INACTIVO\",\n  \"estado_nuevo\": \"ACTIVO\",\n  \"mensaje\": \"2FA activado correctamente\",\n  \"fecha_modificacion\": \"2026-02-22T23:01:00.000+00:00\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_Usuario<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID del usuario modificado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">estado_anterior<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Estado previo del 2FA<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">estado_nuevo<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Nuevo estado del 2FA<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">mensaje<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Mensaje descriptivo del resultado<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Estado modificado correctamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token inv\u00e1lido o ausente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">Usuario no encontrado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">Datos inv\u00e1lidos o faltantes<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 El ID 25 es el ejemplo del request \u00b7 Los estados posibles: ACTIVO, INACTIVO \u00b7 Este endpoint puede usarse para habilitar\/deshabilitar 2FA\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT ASIGNAR RFID A CUENTA ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: ASIGNAR RFID A CUENTA -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/tarjetarfid\/asigna_serie_rfid_card_cuenta_cliente<\/span>\n      <span class=\"pb-endpoint-domain\">RFID<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83d\udcb3 ASIGNAR RFID A CUENTA<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Asigna una tarjeta RFID a una cuenta de cliente espec\u00edfica. \n      Esta asociaci\u00f3n permite realizar pagos y operaciones mediante la tarjeta RFID.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"noserieRFID\": \"3a844cd3\",\n  \"noCuenta\": \"386084524\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">noserieRFID<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">N\u00famero de serie \u00fanico de la tarjeta RFID (hexadecimal)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">noCuenta<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">N\u00famero de cuenta del cliente (9 d\u00edgitos)<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"idAsignacion\": 15843,\n  \"noserieRFID\": \"3a844cd3\",\n  \"noCuenta\": \"386084524\",\n  \"idCliente\": 25,\n  \"fecha_asignacion\": \"2026-02-22T23:10:00.000+00:00\",\n  \"estado\": \"ACTIVA\",\n  \"mensaje\": \"Tarjeta RFID asignada exitosamente a la cuenta\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idAsignacion<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico de la asignaci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">noserieRFID<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">N\u00famero de serie de la tarjeta RFID<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">noCuenta<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">N\u00famero de cuenta asociado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idCliente<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID del cliente titular<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">estado<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Estado de la asignaci\u00f3n (ACTIVA, INACTIVA)<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">RFID asignado correctamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token inv\u00e1lido o ausente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">Cuenta no encontrada<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">409<\/span><\/span>\n        <span class=\"pb-table-cell\">Conflict<\/span>\n        <span class=\"pb-table-cell\">RFID ya est\u00e1 asignado a otra cuenta<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">Datos inv\u00e1lidos o formato incorrecto<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 noserieRFID en formato hexadecimal \u00b7 noCuenta de 9 d\u00edgitos \u00b7 Una tarjeta RFID solo puede asignarse a una cuenta \u00b7 La asignaci\u00f3n permite pagos con terminal RFID\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT CONSULTA INFORMACI\u00d3N EMPRESA ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: CONSULTA INFORMACI\u00d3N EMPRESA -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/empresa\/consulta_informacion_empresa<\/span>\n      <span class=\"pb-endpoint-domain\">Empresa<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83c\udfe2 CONSULTAR INFORMACI\u00d3N DE EMPRESA<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Consulta los datos detallados de una empresa registrada en el sistema.\n      Proporciona informaci\u00f3n como nombre, RFC, direcci\u00f3n, tel\u00e9fono, correo, etc.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"idEmpresa\": 1\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idEmpresa<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico de la empresa<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR 403 (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR (403)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n  \"timestamp\": \"2026-02-22T23:52:33.442+00:00\",\n  \"status\": 403,\n  \"error\": \"Forbidden\",\n  \"path\": \"\/api\/empresa\/consulta_informacion_empresa\"\n}<\/pre>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"idEmpresa\": 1,\n  \"nombre\": \"Balam Software Solutions\",\n  \"rfc\": \"BSS010101XXX\",\n  \"direccion\": \"Av. Tecnol\u00f3gico #123, Col. Centro\",\n  \"telefono\": \"+52 555 123 4567\",\n  \"correo\": \"contacto@balamsoftware.net\",\n  \"sitioWeb\": \"www.balamsoftware.net\",\n  \"fecha_registro\": \"2020-01-15T10:00:00.000+00:00\",\n  \"estado\": \"ACTIVA\",\n  \"giro\": \"Desarrollo de Software\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idEmpresa<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico de la empresa<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">nombre<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Raz\u00f3n social o nombre comercial<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">rfc<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Registro Federal de Contribuyentes<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">direccion<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Direcci\u00f3n fiscal o f\u00edsica<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">telefono<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Tel\u00e9fono de contacto<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">correo<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Correo electr\u00f3nico de contacto<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">estado<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Estado de la empresa (ACTIVA, INACTIVA)<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Informaci\u00f3n obtenida correctamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token JWT inv\u00e1lido o ausente (imagen)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">ID de empresa no encontrado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">Datos inv\u00e1lidos o faltantes<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 idEmpresa=1 seg\u00fan el ejemplo \u00b7 El 403 en imagen indica token requerido \u00b7 Proporciona informaci\u00f3n corporativa de la empresa\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT RECARGA SALDO CUENTA CLIENTE ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: RECARGA SALDO CUENTA CLIENTE -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/recarga\/recarga_saldo_cuenta_cliente<\/span>\n      <span class=\"pb-endpoint-domain\">Recarga<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83d\udcb0 RECARGAR SALDO DE CUENTA<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Realiza una recarga de saldo a la cuenta de un cliente. \n      Esta operaci\u00f3n incrementa el saldo disponible de la cuenta especificada.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"cuentaCliente\": \"174978393\",\n  \"importeRecarga\": 100,\n  \"idTipo_Movimiento\": 2,\n  \"folioTransaccion_Banco\": \"#PENDINTE\",\n  \"idTerminal\": 0\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">cuentaCliente<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">N\u00famero de cuenta del cliente (9 d\u00edgitos)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">importeRecarga<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Monto a recargar<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idTipo_Movimiento<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">2 = Recarga de saldo<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">folioTransaccion_Banco<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Folio de transacci\u00f3n bancaria (#PENDINTE si es pendiente)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idTerminal<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">ID de terminal (0 si no aplica)<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR 403 (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR (403)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n  \"timestamp\": \"2026-02-23T06:16:34.199+00:00\",\n  \"status\": 403,\n  \"error\": \"Forbidden\",\n  \"path\": \"\/api\/recarga\/recarga_saldo_cuenta_cliente\"\n}<\/pre>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"idMovimiento\": 25847,\n  \"cuentaCliente\": \"174978393\",\n  \"importeRecarga\": 100,\n  \"saldoAnterior\": 500.50,\n  \"saldoNuevo\": 600.50,\n  \"fechaMovimiento\": \"2026-02-23T06:20:00.000+00:00\",\n  \"folioTransaccion_Banco\": \"#PENDINTE\",\n  \"estado\": \"COMPLETADA\",\n  \"mensaje\": \"Recarga realizada exitosamente\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idMovimiento<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico del movimiento<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">cuentaCliente<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">N\u00famero de cuenta recargada<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">importeRecarga<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">Monto recargado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">saldoAnterior<\/span>\n        <span class=\"pb-table-cell\">decimal<\/span>\n        <span class=\"pb-table-cell\">Saldo antes de la recarga<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">saldoNuevo<\/span>\n        <span class=\"pb-table-cell\">decimal<\/span>\n        <span class=\"pb-table-cell\">Saldo despu\u00e9s de la recarga<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">estado<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Estado de la transacci\u00f3n<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Recarga realizada exitosamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token JWT inv\u00e1lido o ausente (imagen)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">Cuenta no encontrada<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">Datos inv\u00e1lidos o monto incorrecto<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 idTipo_Movimiento=2 para recarga \u00b7 folioTransaccion_Banco \u00ab#PENDINTE\u00bb indica pendiente \u00b7 idTerminal=0 cuando no es operaci\u00f3n de terminal\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT TRANSFERENCIA SALDO ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: TRANSFERENCIA SALDO -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/transferencia\/transferencia_saldo<\/span>\n      <span class=\"pb-endpoint-domain\">Transferencia<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\u2194\ufe0f TRANSFERENCIA DE SALDO<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Realiza una transferencia de saldo entre dos cuentas del sistema.\n      La operaci\u00f3n debita el monto de la cuenta origen y lo acredita en la cuenta destino.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY (simulado basado en otros endpoints similares) -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY (EJEMPLO)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"cuentaOrigen\": \"174978393\",\n  \"cuentaDestino\": \"271872026\",\n  \"importe\": 500,\n  \"concepto\": \"Transferencia\",\n  \"idTipo_Movimiento\": 3\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">cuentaOrigen<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">N\u00famero de cuenta de origen (de donde se debita)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">cuentaDestino<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">N\u00famero de cuenta de destino (donde se acredita)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">importe<\/span>\n        <span class=\"pb-table-cell\">decimal<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Monto a transferir<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">concepto<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge\">OPC<\/span><\/span>\n        <span class=\"pb-table-cell\">Descripci\u00f3n de la transferencia<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idTipo_Movimiento<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">3 = Transferencia entre cuentas<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR 403 (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR (403)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n  \"timestamp\": \"2026-02-23T06:20:08.428+00:00\",\n  \"status\": 403,\n  \"error\": \"Forbidden\",\n  \"path\": \"\/api\/transferencia\/transferencia_saldo\"\n}<\/pre>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"idTransferencia\": 35841,\n  \"cuentaOrigen\": \"174978393\",\n  \"cuentaDestino\": \"271872026\",\n  \"importe\": 500,\n  \"saldoOrigenAnterior\": 1500.50,\n  \"saldoOrigenNuevo\": 1000.50,\n  \"saldoDestinoAnterior\": 300.00,\n  \"saldoDestinoNuevo\": 800.00,\n  \"fechaTransferencia\": \"2026-02-23T06:25:00.000+00:00\",\n  \"estado\": \"COMPLETADA\",\n  \"folio\": \"TRF-20260223-001\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idTransferencia<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico de la transferencia<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">cuentaOrigen<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Cuenta que envi\u00f3 los fondos<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">cuentaDestino<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Cuenta que recibi\u00f3 los fondos<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">importe<\/span>\n        <span class=\"pb-table-cell\">decimal<\/span>\n        <span class=\"pb-table-cell\">Monto transferido<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">estado<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Estado de la transferencia<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Transferencia realizada exitosamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token JWT inv\u00e1lido o ausente (imagen)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">Cuenta origen o destino no encontrada<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">Datos inv\u00e1lidos o saldo insuficiente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 La imagen muestra error 403 por falta de token \u00b7 idTipo_Movimiento=3 para transferencias \u00b7 Validar saldo suficiente en cuenta origen\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT COBRO SALDO CUENTA CLIENTE ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: COBRO SALDO CUENTA CLIENTE -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/cobrosaldo\/cobro_saldo_cuenta_cliente<\/span>\n      <span class=\"pb-endpoint-domain\">Cobro<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83d\udcb8 COBRO DE SALDO A CUENTA<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Realiza un cobro o d\u00e9bito a la cuenta de un cliente por concepto de servicios o consumos.\n      Este endpoint reduce el saldo de la cuenta seg\u00fan el importe del servicio.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"cta_Cliente\": \"271872026\",\n  \"id_Servicio\": 3,\n  \"id_Tipo_Movimiento\": 1,\n  \"id_Recarga_Saldo\": 0\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">cta_Cliente<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">N\u00famero de cuenta del cliente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_Servicio<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">ID del servicio que se est\u00e1 cobrando (3 en el ejemplo)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_Tipo_Movimiento<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">1 = Cobro\/D\u00e9bito<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_Recarga_Saldo<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">ID de recarga asociada (0 si no aplica)<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR 403 (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR (403)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n  \"timestamp\": \"2026-02-23T06:31:41.159+00:00\",\n  \"status\": 403,\n  \"error\": \"Forbidden\",\n  \"path\": \"\/api\/cobrosaldo\/cobro_saldo_cuenta_cliente\"\n}<\/pre>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"idCobro\": 45218,\n  \"cta_Cliente\": \"271872026\",\n  \"id_Servicio\": 3,\n  \"nombreServicio\": \"Pago de servicios\",\n  \"importe\": 150.00,\n  \"saldoAnterior\": 500.50,\n  \"saldoNuevo\": 350.50,\n  \"fechaCobro\": \"2026-02-23T06:35:00.000+00:00\",\n  \"estado\": \"COMPLETADO\",\n  \"folio\": \"COB-20260223-045\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idCobro<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico del cobro<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">cta_Cliente<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Cuenta a la que se aplic\u00f3 el cobro<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_Servicio<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID del servicio cobrado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">importe<\/span>\n        <span class=\"pb-table-cell\">decimal<\/span>\n        <span class=\"pb-table-cell\">Monto cobrado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">saldoNuevo<\/span>\n        <span class=\"pb-table-cell\">decimal<\/span>\n        <span class=\"pb-table-cell\">Saldo despu\u00e9s del cobro<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Cobro realizado exitosamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token JWT inv\u00e1lido o ausente (imagen)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">Cuenta o servicio no encontrado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">Saldo insuficiente o datos inv\u00e1lidos<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 id_Tipo_Movimiento=1 para cobros \u00b7 id_Servicio=3 seg\u00fan ejemplo \u00b7 id_Recarga_Saldo=0 cuando no est\u00e1 asociado a una recarga\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT LISTAR SERVICIOS ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: LISTAR SERVICIOS -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">GET<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/servicios\/listar<\/span>\n      <span class=\"pb-endpoint-domain\">Servicios<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83d\udccb LISTAR SERVICIOS<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Obtiene el listado completo de servicios disponibles en el sistema.\n      Estos servicios pueden ser utilizados para realizar cobros o consultas.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR 403 (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR (403)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n  \"timestamp\": \"2026-02-23T06:36:44.063+00:00\",\n  \"status\": 403,\n  \"error\": \"Forbidden\",\n  \"path\": \"\/api\/servicios\/listar\"\n}<\/pre>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"servicios\": [\n    {\n      \"id\": 1,\n      \"nombre\": \"Pago de luz\",\n      \"descripcion\": \"Servicio de pago de energ\u00eda el\u00e9ctrica\",\n      \"costo\": 150.00,\n      \"estado\": \"ACTIVO\"\n    },\n    {\n      \"id\": 2,\n      \"nombre\": \"Pago de agua\",\n      \"descripcion\": \"Servicio de pago de agua potable\",\n      \"costo\": 120.00,\n      \"estado\": \"ACTIVO\"\n    },\n    {\n      \"id\": 3,\n      \"nombre\": \"Pago de tel\u00e9fono\",\n      \"descripcion\": \"Servicio de pago de telefon\u00eda fija y m\u00f3vil\",\n      \"costo\": 200.00,\n      \"estado\": \"ACTIVO\"\n    },\n    {\n      \"id\": 4,\n      \"nombre\": \"Pago de internet\",\n      \"descripcion\": \"Servicio de pago de internet\",\n      \"costo\": 180.00,\n      \"estado\": \"ACTIVO\"\n    },\n    {\n      \"id\": 5,\n      \"nombre\": \"Recarga de saldo\",\n      \"descripcion\": \"Recarga de saldo a cuenta\",\n      \"costo\": 0.00,\n      \"estado\": \"ACTIVO\"\n    }\n  ],\n  \"total\": 5,\n  \"timestamp\": \"2026-02-23T06:40:00.000+00:00\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico del servicio<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">nombre<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Nombre del servicio<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">descripcion<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Descripci\u00f3n detallada del servicio<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">costo<\/span>\n        <span class=\"pb-table-cell\">decimal<\/span>\n        <span class=\"pb-table-cell\">Costo o tarifa del servicio<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">estado<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Estado del servicio (ACTIVO, INACTIVO)<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Listado de servicios obtenido correctamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token JWT inv\u00e1lido o ausente (imagen)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">401<\/span><\/span>\n        <span class=\"pb-table-cell\">Unauthorized<\/span>\n        <span class=\"pb-table-cell\">Credenciales incorrectas<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 M\u00e9todo GET sin body \u00b7 La imagen muestra error 403 por falta de token \u00b7 Los servicios listados se usan en el endpoint de cobro\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT CONSULTA TERMINAL ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: CONSULTA TERMINAL -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/terminal\/consultaTerminal<\/span>\n      <span class=\"pb-endpoint-domain\">Terminal<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83d\udcf1 CONSULTAR TERMINAL<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Consulta la informaci\u00f3n de una terminal espec\u00edfica por su nombre.\n      Las terminales son dispositivos f\u00edsicos utilizados para realizar cobros y operaciones RFID.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"nombreTerminal\": \"ARD-JUMP-01\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">nombreTerminal<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Nombre \u00fanico de la terminal (ej. ARD-JUMP-01)<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"idTerminal\": 5,\n  \"nombreTerminal\": \"ARD-JUMP-01\",\n  \"serie\": \"TML-2024-001\",\n  \"ubicacion\": \"Caja Principal - Sucursal Centro\",\n  \"estado\": \"ACTIVA\",\n  \"ultimaConexion\": \"2026-02-23T06:45:00.000+00:00\",\n  \"fechaRegistro\": \"2024-01-15T10:00:00.000+00:00\",\n  \"versionFirmware\": \"v2.1.3\",\n  \"totalTransacciones\": 1250,\n  \"ultimoMantenimiento\": \"2026-02-01T09:30:00.000+00:00\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idTerminal<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico de la terminal<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">nombreTerminal<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Nombre de la terminal consultada<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">serie<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">N\u00famero de serie del dispositivo<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">ubicacion<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Ubicaci\u00f3n f\u00edsica de la terminal<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">estado<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Estado operativo (ACTIVA, INACTIVA, MANTENIMIENTO)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">versionFirmware<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Versi\u00f3n de firmware instalada<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Terminal encontrada exitosamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token JWT inv\u00e1lido o ausente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">Terminal no encontrada con ese nombre<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">Nombre de terminal inv\u00e1lido o vac\u00edo<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 nombreTerminal \u00abARD-JUMP-01\u00bb seg\u00fan ejemplo \u00b7 Las terminales se utilizan para cobros RFID \u00b7 El estado debe ser ACTIVO para operar\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT BUSCAR SERVICIO POR ID ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: BUSCAR SERVICIO POR ID -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/servicios\/buscarById<\/span>\n      <span class=\"pb-endpoint-domain\">Servicios<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83d\udd0d BUSCAR SERVICIO POR ID<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Busca y obtiene la informaci\u00f3n detallada de un servicio espec\u00edfico utilizando su ID \u00fanico.\n      Este endpoint complementa al listado general de servicios.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"idServicio\": 4\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idServicio<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico del servicio a consultar<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"idServicio\": 4,\n  \"nombre\": \"Pago de internet\",\n  \"descripcion\": \"Servicio de pago de internet residencial y empresarial\",\n  \"costo\": 180.00,\n  \"categoria\": \"Telecomunicaciones\",\n  \"proveedor\": \"Proveedor de Internet S.A.\",\n  \"tiempoEstimado\": \"5 minutos\",\n  \"estado\": \"ACTIVO\",\n  \"fechaRegistro\": \"2024-01-15T10:00:00.000+00:00\",\n  \"requiereValidacion\": true\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idServicio<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico del servicio<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">nombre<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Nombre del servicio<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">descripcion<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Descripci\u00f3n detallada del servicio<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">costo<\/span>\n        <span class=\"pb-table-cell\">decimal<\/span>\n        <span class=\"pb-table-cell\">Costo o tarifa del servicio<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">categoria<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Categor\u00eda a la que pertenece<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">proveedor<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Nombre del proveedor del servicio<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">estado<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Estado del servicio (ACTIVO, INACTIVO)<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Servicio encontrado exitosamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token JWT inv\u00e1lido o ausente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">Servicio no encontrado con ese ID<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">ID inv\u00e1lido o formato incorrecto<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 idServicio=4 seg\u00fan ejemplo \u00b7 Complementa al endpoint \/api\/servicios\/listar \u00b7 Los IDs corresponden al listado general\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT LOGIN ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: LOGIN -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/login<\/span>\n      <span class=\"pb-endpoint-domain\">Auth<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83d\udd10 LOGIN DE USUARIO<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Endpoint de autenticaci\u00f3n que permite a los usuarios iniciar sesi\u00f3n en el sistema.\n      Recibe credenciales y devuelve un token JWT para autorizaci\u00f3n en otros endpoints.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">No requerida<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"usuario\": \"ozper@msn.com\",\n  \"contrase\u00f1a\": \"101010\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">usuario<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Correo electr\u00f3nico o nombre de usuario<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">contrase\u00f1a<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">Contrase\u00f1a del usuario<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200 OK)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"Message\": \"Autenticacion correcta\",\n  \"idCliente\": \"83\",\n  \"id_tipoUsuario\": \"1\",\n  \"idUsuario\": \"57\",\n  \"token\": \"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJtWmF0IjoxNzcxODI5MTE0LCJleHAiOjEzNSZEMTUMTR9.ivdB3Dnr-TmrjM9xgBMjRINAcu6E9o20akSCBPNnYfs\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Message<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Mensaje de confirmaci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idCliente<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">ID del cliente asociado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_tipoUsuario<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Tipo de usuario (1 = administrador)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">idUsuario<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">ID del usuario autenticado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">token<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Token JWT para autorizaci\u00f3n<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR (simulada) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR (401)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n  \"timestamp\": \"2026-02-23T07:00:00.000+00:00\",\n  \"status\": 401,\n  \"error\": \"Unauthorized\",\n  \"message\": \"Credenciales incorrectas\",\n  \"path\": \"\/login\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Login exitoso, token generado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">401<\/span><\/span>\n        <span class=\"pb-table-cell\">Unauthorized<\/span>\n        <span class=\"pb-table-cell\">Credenciales incorrectas<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">Campos faltantes o formato inv\u00e1lido<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint p\u00fablico (no requiere token) \u00b7 Usar credenciales v\u00e1lidas \u00b7 El token recibido debe usarse en header Authorization para otros endpoints \u00b7 id_tipoUsuario=1 = administrador\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT OBTENER N\u00daMERO DE CUENTA POR ID CLIENTE ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: OBTENER N\u00daMERO DE CUENTA POR ID CLIENTE -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/cuentacliente\/obtenerNocuenta_idCliente<\/span>\n      <span class=\"pb-endpoint-domain\">Cuenta<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83d\udd22 OBTENER N\u00daMERO DE CUENTA POR ID CLIENTE<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Obtiene el n\u00famero de cuenta asociado a un cliente espec\u00edfico utilizando su ID.\n      Este endpoint es \u00fatil para recuperar la cuenta principal de un cliente.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n    \"id_Cliente\": 68\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_Cliente<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico del cliente<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR 403 (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR (403)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n    \"timestamp\": \"2026-02-23T06:49:40.342+00:00\",\n    \"status\": 403,\n    \"error\": \"Forbidden\",\n    \"path\": \"\/api\/cuentacliente\/obtenerNocuenta_idCliente\"\n}<\/pre>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n    \"id_Cliente\": 68,\n    \"noCuenta\": \"386084524\",\n    \"tipoCuenta\": \"Ahorros\",\n    \"fechaApertura\": \"2024-01-15T10:00:00.000+00:00\",\n    \"estado\": \"ACTIVA\",\n    \"saldo\": 5000.00,\n    \"moneda\": \"MXN\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_Cliente<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID del cliente confirmado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">noCuenta<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">N\u00famero de cuenta del cliente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">tipoCuenta<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Tipo de cuenta (Ahorros, Cheques, etc.)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">estado<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Estado de la cuenta (ACTIVA, INACTIVA)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">saldo<\/span>\n        <span class=\"pb-table-cell\">decimal<\/span>\n        <span class=\"pb-table-cell\">Saldo actual de la cuenta<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">N\u00famero de cuenta obtenido exitosamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token JWT inv\u00e1lido o ausente (imagen)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">Cliente no encontrado o sin cuenta asociada<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">ID de cliente inv\u00e1lido o vac\u00edo<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 id_Cliente=68 seg\u00fan ejemplo \u00b7 El 403 en imagen indica token requerido \u00b7 Un cliente puede tener m\u00faltiples cuentas\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT CONSULTAR TWO FACTOR ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: CONSULTAR TWO FACTOR -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">POST<\/span>\n      <span class=\"pb-endpoint-path\">\/api\/usuario\/Consulta_Two_Factor<\/span>\n      <span class=\"pb-endpoint-domain\">2FA<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83d\udd0d CONSULTAR ESTADO TWO FACTOR<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Consulta el estado de la autenticaci\u00f3n de dos factores (2FA) para un usuario espec\u00edfico.\n      Obtiene informaci\u00f3n sobre si el 2FA est\u00e1 activado y la clave asociada.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">Bearer Token<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- REQUEST BODY -->\n    <div class=\"pb-section-title\">\ud83d\udce4 REQUEST BODY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n    \"id_Usuario\": 42\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DEL REQUEST<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_Usuario<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n        <span class=\"pb-table-cell\">ID \u00fanico del usuario<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- HEADERS REQUERIDOS -->\n    <div class=\"pb-section-title\">\ud83d\udd10 HEADERS REQUERIDOS<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Header<\/span>\n        <span class=\"pb-table-cell header\">Valor<\/span>\n        <span class=\"pb-table-cell header\">Req<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Authorization<\/span>\n        <span class=\"pb-table-cell\">Bearer {token}<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">Content-Type<\/span>\n        <span class=\"pb-table-cell\">application\/json<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">S\u00cd<\/span><\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA ERROR 403 (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA ERROR (403)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n    \"timestamp\": \"2026-02-23T06:52:00.741+00:00\",\n    \"status\": 403,\n    \"error\": \"Forbidden\",\n    \"path\": \"\/api\/usuario\/Consulta_Two_Factor\"\n}<\/pre>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (simulada) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n    \"id_Usuario\": 42,\n    \"factorKey\": 826638,\n    \"estado\": \"ACTIVO\",\n    \"fechaActivacion\": \"2024-01-15T10:00:00.000+00:00\",\n    \"ultimoUso\": \"2026-02-22T22:53:17.903+00:00\",\n    \"metodo2FA\": \"APP\",\n    \"intentosFallidos\": 0\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">id_Usuario<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">ID del usuario consultado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">factorKey<\/span>\n        <span class=\"pb-table-cell\">integer<\/span>\n        <span class=\"pb-table-cell\">Clave 2FA del usuario<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">estado<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Estado del 2FA (ACTIVO, INACTIVO)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">fechaActivacion<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Fecha de activaci\u00f3n del 2FA<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">metodo2FA<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">M\u00e9todo de 2FA (APP, SMS, EMAIL)<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Informaci\u00f3n 2FA obtenida exitosamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">403<\/span><\/span>\n        <span class=\"pb-table-cell\">Forbidden<\/span>\n        <span class=\"pb-table-cell\">Token JWT inv\u00e1lido o ausente (imagen)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">404<\/span><\/span>\n        <span class=\"pb-table-cell\">Not Found<\/span>\n        <span class=\"pb-table-cell\">Usuario no encontrado<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">400<\/span><\/span>\n        <span class=\"pb-table-cell\">Bad Request<\/span>\n        <span class=\"pb-table-cell\">ID de usuario inv\u00e1lido<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint requiere autenticaci\u00f3n \u00b7 id_Usuario=42 seg\u00fan ejemplo \u00b7 El 403 en imagen indica token requerido \u00b7 Complementa a los endpoints de 2FA key y verificaci\u00f3n\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT ACTUATOR INFO ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: ACTUATOR INFO -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">GET<\/span>\n      <span class=\"pb-endpoint-path\">\/actuator\/info<\/span>\n      <span class=\"pb-endpoint-domain\">Infra<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\u2139\ufe0f INFORMACI\u00d3N DEL MICROSERVICIO<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Endpoint de Spring Boot Actuator que proporciona informaci\u00f3n general del microservicio.\n      Incluye nombre, versi\u00f3n, descripci\u00f3n y autor del proyecto.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">No requerida<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200)<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n    \"app\": {\n        \"name\": \"bs_probank_ms\",\n        \"description\": \"aqui debes escribir una descripcion del proyecto\",\n        \"version\": \"1.0\"\n    },\n    \"author\": \"BALAM SOFTWARE\"\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Campo<\/span>\n        <span class=\"pb-table-cell header\">Tipo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">app.name<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Nombre del microservicio<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">app.description<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Descripci\u00f3n del proyecto (pendiente de definir)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">app.version<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Versi\u00f3n actual del microservicio<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">author<\/span>\n        <span class=\"pb-table-cell\">string<\/span>\n        <span class=\"pb-table-cell\">Autor o empresa desarrolladora<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK<\/span>\n        <span class=\"pb-table-cell\">Informaci\u00f3n obtenida correctamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">401<\/span><\/span>\n        <span class=\"pb-table-cell\">Unauthorized<\/span>\n        <span class=\"pb-table-cell\">Si el endpoint estuviera asegurado (no es el caso)<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint p\u00fablico (no requiere autenticaci\u00f3n) \u00b7 La descripci\u00f3n est\u00e1 pendiente de actualizar \u00b7 Informaci\u00f3n de metadatos del microservicio \u00b7 Endpoint de Spring Boot Actuator\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n\n\n\n<!-- ================= PROBANK - E-LANA \u2014 ENDPOINT ACTUATOR HEALTH ================= -->\n<style>\n\/* MISMOS ESTILOS DEL DISE\u00d1O MAESTRO *\/\n:root {\n  --primary: #00f7b5;\n  --primary-dark: #00c48c;\n  --primary-glow: rgba(0, 247, 181, 0.5);\n  --secondary: #7c3aed;\n  --secondary-glow: rgba(124, 58, 237, 0.5);\n  --accent: #ff4d6d;\n  --dark: #0a0f1e;\n  --dark-card: #141b2b;\n  --dark-light: #1e293b;\n  --text: #e2e8f0;\n  --text-dim: #94a3b8;\n  --border: rgba(255, 255, 255, 0.08);\n  --gradient-1: linear-gradient(135deg, #00f7b5 0%, #7c3aed 100%);\n}\n\n* {\n  margin: 0;\n  padding: 0;\n  box-sizing: border-box;\n}\n\nbody {\n  background: var(--dark);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n  color: var(--text);\n  line-height: 1.5;\n}\n\n.pb-container {\n  max-width: 100%;\n  margin: 0 auto;\n  padding: 0.75rem;\n  position: relative;\n  overflow-x: hidden;\n}\n\n\/* CARDS *\/\n.pb-card {\n  background: rgba(20, 27, 43, 0.8);\n  backdrop-filter: blur(8px);\n  border: 1px solid var(--border);\n  border-radius: 1.25rem;\n  padding: 1rem;\n  margin-bottom: 1rem;\n  box-shadow: var(--shadow-md);\n  position: relative;\n  z-index: 1;\n}\n\n.pb-title {\n  font-size: clamp(1.1rem, 4vw, 1.4rem);\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin-bottom: 1rem;\n  display: inline-block;\n}\n\n\/* HEADER DEL ENDPOINT *\/\n.pb-endpoint-header {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  margin-bottom: 1rem;\n  font-size: 0.8rem;\n}\n\n.pb-endpoint-method {\n  min-width: 45px;\n  font-weight: 600;\n  color: var(--primary);\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n.pb-endpoint-path {\n  flex: 1;\n  color: var(--text);\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  word-break: break-word;\n}\n\n.pb-endpoint-domain {\n  min-width: 70px;\n  text-align: right;\n  color: var(--secondary);\n  font-size: 0.7rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  letter-spacing: 0.3px;\n}\n\n\/* DESCRIPCI\u00d3N *\/\n.pb-description {\n  color: var(--text-dim);\n  font-size: 0.8rem;\n  margin-bottom: 1rem;\n  padding: 0 0.4rem;\n}\n\n\/* GRID DE INFO *\/\n.pb-info-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n  gap: 0.75rem;\n  margin-bottom: 1rem;\n}\n\n.pb-info-item {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  font-size: 0.85rem;\n}\n\n.pb-info-item .label {\n  color: var(--primary);\n  font-size: 0.7rem;\n  display: block;\n  margin-bottom: 0.3rem;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n}\n\n.pb-info-item .value {\n  color: var(--text);\n  font-size: 0.8rem;\n  font-family: 'Fira Code', monospace;\n  word-break: break-word;\n}\n\n\/* TABLAS *\/\n.pb-table-container {\n  background: rgba(0, 0, 0, 0.3);\n  border-radius: 0.75rem;\n  border: 1px solid var(--border);\n  overflow: hidden;\n  margin: 1rem 0;\n}\n\n.pb-table-row {\n  display: flex;\n  align-items: center;\n  padding: 0.6rem 0.8rem;\n  border-bottom: 1px solid var(--border);\n  transition: all 0.2s;\n  font-size: 0.8rem;\n}\n\n.pb-table-row:last-child {\n  border-bottom: none;\n}\n\n.pb-table-row:hover {\n  background: rgba(0, 247, 181, 0.05);\n}\n\n.pb-table-row.header {\n  background: rgba(0, 247, 181, 0.1);\n  border-bottom: 2px solid var(--primary);\n}\n\n.pb-table-row.header:hover {\n  background: rgba(0, 247, 181, 0.1);\n}\n\n.pb-table-cell {\n  flex: 1;\n  min-width: 80px;\n  color: var(--text-dim);\n}\n\n.pb-table-cell:first-child {\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  font-weight: 500;\n}\n\n.pb-table-cell.header {\n  color: var(--primary);\n  font-weight: 600;\n  text-transform: uppercase;\n  font-size: 0.7rem;\n  letter-spacing: 0.5px;\n}\n\n\/* BADGES *\/\n.pb-badge {\n  display: inline-block;\n  padding: 0.15rem 0.5rem;\n  border-radius: 100px;\n  font-size: 0.65rem;\n  font-weight: 500;\n  text-transform: uppercase;\n  background: rgba(255, 255, 255, 0.05);\n  border: 1px solid rgba(0, 247, 181, 0.2);\n  color: var(--primary);\n}\n\n.pb-badge.success {\n  background: rgba(0, 247, 181, 0.1);\n  border-color: var(--primary);\n  color: var(--primary);\n}\n\n.pb-badge.error {\n  background: rgba(255, 77, 109, 0.1);\n  border-color: var(--accent);\n  color: var(--accent);\n}\n\n\/* C\u00d3DIGO *\/\n.pb-code-block {\n  background: rgba(0, 0, 0, 0.3);\n  border: 1px solid var(--border);\n  border-radius: 0.75rem;\n  padding: 0.75rem;\n  margin: 1rem 0;\n  font-family: 'Fira Code', monospace;\n  font-size: 0.75rem;\n  color: var(--primary);\n  overflow-x: auto;\n}\n\n.pb-code-block pre {\n  margin: 0;\n  color: var(--primary);\n  font-family: 'Fira Code', monospace;\n  white-space: pre-wrap;\n  word-break: break-word;\n}\n\n\/* NOTAS *\/\n.pb-note {\n  border-left: 3px solid var(--secondary);\n  padding: 0.6rem 1rem;\n  margin: 1rem 0;\n  background: rgba(124, 58, 237, 0.03);\n  border-radius: 0 0.75rem 0.75rem 0;\n  font-size: 0.8rem;\n  color: var(--text-dim);\n}\n\n.pb-note strong {\n  color: var(--secondary);\n  margin-right: 0.5rem;\n}\n\n\/* SECCI\u00d3N TITLE *\/\n.pb-section-title {\n  font-size: 0.9rem;\n  font-weight: 600;\n  background: var(--gradient-1);\n  -webkit-background-clip: text;\n  background-clip: text;\n  color: transparent;\n  margin: 1rem 0 0.5rem 0;\n  display: inline-block;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 480px) {\n  .pb-table-row {\n    flex-wrap: wrap;\n    gap: 0.3rem;\n  }\n  \n  .pb-table-cell {\n    min-width: 100%;\n  }\n  \n  .pb-table-cell:first-child {\n    min-width: 100%;\n  }\n}\n<\/style>\n\n<div class=\"pb-container\">\n  <!-- ENDPOINT: ACTUATOR HEALTH -->\n  <div class=\"pb-card\">\n    \n    <!-- HEADER -->\n    <div class=\"pb-endpoint-header\">\n      <span class=\"pb-endpoint-method\">GET<\/span>\n      <span class=\"pb-endpoint-path\">\/actuator\/health<\/span>\n      <span class=\"pb-endpoint-domain\">Infra<\/span>\n    <\/div>\n    \n    <!-- T\u00cdTULO -->\n    <div class=\"pb-title\">\ud83e\ude7a ESTADO DE SALUD DEL MICROSERVICIO<\/div>\n    \n    <!-- DESCRIPCI\u00d3N -->\n    <div class=\"pb-description\">\n      Endpoint de Spring Boot Actuator que proporciona informaci\u00f3n sobre el estado de salud del microservicio.\n      Verifica la conectividad a base de datos, espacio en disco y componentes personalizados.\n    <\/div>\n    \n    <!-- INFO B\u00c1SICA -->\n    <div class=\"pb-info-grid\">\n      <div class=\"pb-info-item\">\n        <span class=\"label\">URL Base<\/span>\n        <span class=\"value\">uat-ms-probank-ms:7600<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Content-Type<\/span>\n        <span class=\"value\">application\/json<\/span>\n      <\/div>\n      <div class=\"pb-info-item\">\n        <span class=\"label\">Autenticaci\u00f3n<\/span>\n        <span class=\"value\">No requerida<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA EXITOSA (basado en la imagen) -->\n    <div class=\"pb-section-title\">\u2705 RESPUESTA EXITOSA (200) &#8211; HEALTHY<\/div>\n    <div class=\"pb-code-block\">\n      <pre>{\n  \"status\": \"UP\",\n  \"components\": {\n    \"db\": {\n      \"status\": \"UP\",\n      \"details\": {\n        \"database\": \"MySQL\",\n        \"validationQuery\": \"isValid()\"\n      }\n    },\n    \"diskSpace\": {\n      \"status\": \"UP\",\n      \"details\": {\n        \"total\": 51460472832,\n        \"free\": 33199120384,\n        \"threshold\": 10485760,\n        \"exists\": true\n      }\n    },\n    \"ping\": {\n      \"status\": \"UP\"\n    },\n    \"probank\": {\n      \"status\": \"UP\"\n    }\n  }\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE CAMPOS DE RESPUESTA -->\n    <div class=\"pb-section-title\">\ud83d\udccb CAMPOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">Componente<\/span>\n        <span class=\"pb-table-cell header\">Estado<\/span>\n        <span class=\"pb-table-cell header\">Detalles<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">status<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">UP<\/span><\/span>\n        <span class=\"pb-table-cell\">Estado general del servicio<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">db<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">UP<\/span><\/span>\n        <span class=\"pb-table-cell\">Base de datos MySQL conectada<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">diskSpace<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">UP<\/span><\/span>\n        <span class=\"pb-table-cell\">Espacio en disco: 33.2GB libres \/ 51.5GB totales<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">ping<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">UP<\/span><\/span>\n        <span class=\"pb-table-cell\">Endpoint de ping<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\">probank<\/span>\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">UP<\/span><\/span>\n        <span class=\"pb-table-cell\">Componente personalizado del microservicio<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- RESPUESTA DE ERROR (simulada) -->\n    <div class=\"pb-section-title\">\u26a0\ufe0f RESPUESTA DE ERROR (503 &#8211; DOWN)<\/div>\n    <div class=\"pb-code-block\" style=\"border-color: var(--accent);\">\n      <pre style=\"color: var(--accent);\">{\n  \"status\": \"DOWN\",\n  \"components\": {\n    \"db\": {\n      \"status\": \"DOWN\",\n      \"details\": {\n        \"error\": \"Cannot connect to database\",\n        \"database\": \"MySQL\"\n      }\n    },\n    \"diskSpace\": {\n      \"status\": \"UP\",\n      \"details\": {\n        \"total\": 51460472832,\n        \"free\": 33199120384,\n        \"threshold\": 10485760,\n        \"exists\": true\n      }\n    }\n  }\n}<\/pre>\n    <\/div>\n    \n    <!-- TABLA DE C\u00d3DIGOS -->\n    <div class=\"pb-section-title\">\ud83d\udcca C\u00d3DIGOS DE RESPUESTA<\/div>\n    <div class=\"pb-table-container\">\n      <div class=\"pb-table-row header\">\n        <span class=\"pb-table-cell header\">C\u00f3digo<\/span>\n        <span class=\"pb-table-cell header\">Descripci\u00f3n<\/span>\n        <span class=\"pb-table-cell header\">Soluci\u00f3n<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge success\">200<\/span><\/span>\n        <span class=\"pb-table-cell\">OK &#8211; UP<\/span>\n        <span class=\"pb-table-cell\">Servicio funcionando correctamente<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">503<\/span><\/span>\n        <span class=\"pb-table-cell\">Service Unavailable &#8211; DOWN<\/span>\n        <span class=\"pb-table-cell\">Servicio no disponible o componente fallando<\/span>\n      <\/div>\n      \n      <div class=\"pb-table-row\">\n        <span class=\"pb-table-cell\"><span class=\"pb-badge error\">500<\/span><\/span>\n        <span class=\"pb-table-cell\">Internal Error<\/span>\n        <span class=\"pb-table-cell\">Error en el servidor<\/span>\n      <\/div>\n    <\/div>\n    \n    <!-- NOTAS IMPORTANTES -->\n    <div class=\"pb-note\">\n      <strong>\ud83d\udccc NOTAS IMPORTANTES:<\/strong>\n      Endpoint p\u00fablico (no requiere autenticaci\u00f3n) \u00b7 status \u00abUP\u00bb = todo bien, \u00abDOWN\u00bb = problema \u00b7 db: verifica conexi\u00f3n a MySQL \u00b7 diskSpace: monitorea espacio disponible \u00b7 probank: componente personalizado\n    <\/div>\n\n  <\/div>\n  \n  <!-- FOOTER -->\n  <div style=\"display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border);\">\n    <span class=\"pb-badge\" style=\"background: transparent;\">\u26a1 ProBank &#8211; e-Lana<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">\ud83d\udcda Documentaci\u00f3n T\u00e9cnica<\/span>\n    <span class=\"pb-badge\" style=\"background: transparent;\">v1.0.0<\/span>\n  <\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>GET \/api\/cliente\/lista_cliente Cliente \ud83d\udccb LISTA DE CLIENTES Obtiene un listado paginado de todos los clientes registrados en el sistema. Permite filtrar por nombre y otros criterios. URL Base uat-ms-probank-ms:7600 Content-Type application\/json Autenticaci\u00f3n Bearer Token \ud83d\udd0d QUERY PARAMETERS Par\u00e1metro Tipo Req Descripci\u00f3n page integer OPC N\u00famero de p\u00e1gina (default: 1) limit integer OPC Registros por p\u00e1gina &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-140","post","type-post","status-publish","format-standard","","category-mucroservicios"],"_links":{"self":[{"href":"https:\/\/docus.balamsoftware.net\/index.php?rest_route=\/wp\/v2\/posts\/140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docus.balamsoftware.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/docus.balamsoftware.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/docus.balamsoftware.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/docus.balamsoftware.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=140"}],"version-history":[{"count":37,"href":"https:\/\/docus.balamsoftware.net\/index.php?rest_route=\/wp\/v2\/posts\/140\/revisions"}],"predecessor-version":[{"id":187,"href":"https:\/\/docus.balamsoftware.net\/index.php?rest_route=\/wp\/v2\/posts\/140\/revisions\/187"}],"wp:attachment":[{"href":"https:\/\/docus.balamsoftware.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/docus.balamsoftware.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/docus.balamsoftware.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}