#cfa{max-width:980px;margin:34px auto;font-family:Arial,Helvetica,sans-serif;color:#24372b;line-height:1.45}#cfa *{box-sizing:border-box}.cfa-card{background:#fff;border:1px solid #dfe8e2;border-radius:20px;padding:30px;box-shadow:0 12px 35px rgba(26,55,36,.09);margin-bottom:22px}.cfa-card h2{color:#246536;margin:4px 0 8px;font-size:28px}.cfa-card h3{color:#263d2f;margin:4px 0 8px;font-size:22px}.cfa-kicker{font-size:12px;letter-spacing:.12em;font-weight:800;color:#6d8d24}.cfa-lead{color:#607067;margin:5px 0 18px}.cfa-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cfa-card label{display:block;margin-top:14px;font-weight:700;color:#344b3c}.cfa-card input,.cfa-card select{box-sizing:border-box;width:100%;padding:13px 14px;border:1px solid #cfd9d2;border-radius:10px;margin-top:7px;background:#fff;font-size:16px;outline:none}.cfa-card input:focus,.cfa-card select:focus{border-color:#8cc800;box-shadow:0 0 0 3px rgba(140,200,0,.13)}.cfa-card button,.cfa-btn{font:inherit}.cfa-main,.cfa-btn,.cfa-wa{display:inline-block;margin-top:20px;padding:13px 20px;border:0;border-radius:10px;background:#a8df00;color:#173b1b!important;text-decoration:none;font-weight:800;cursor:pointer}.cfa-card button:disabled{opacity:.62;cursor:not-allowed}.cfa-secondary{display:inline-block;padding:11px 16px;border:0;border-radius:10px;background:#eef2ef!important;color:#36513f!important;font-weight:800;cursor:pointer}.cfa-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid #e6ece8;padding-bottom:14px}.cfa-inner-head{margin-top:10px}.cfa-auth-card{max-width:620px;margin:30px auto}.cfa-icon-circle{width:62px;height:62px;border:2px solid #93ca00;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;margin:0 auto 12px}.cfa-public-auth .cfa-kicker,.cfa-public-auth h2,.cfa-public-auth .cfa-lead{text-align:center}.cfa-password{position:relative}.cfa-password input{padding-right:52px}.cfa-eye{position:absolute!important;right:7px;top:11px;margin:0!important;background:transparent!important;padding:8px!important;border:0!important}.cfa-auth-links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:18px}.cfa-linkbtn{background:transparent!important;border:0!important;color:#2e6f3e!important;text-decoration:underline;cursor:pointer;font-weight:700}.cfa-info{margin-top:20px;background:#f2f8df;border-left:4px solid #8cc800;padding:13px 15px;border-radius:8px;color:#3f563a}.cfa-password-rule{font-size:13px;color:#66766d}.cfa-alert,.cfa-success,#cfa-msg,#cfa-auth-msg,#cfa-register-msg,#cfa-recover-msg,#cfa-agency-msg{display:block;margin-top:14px;font-weight:700}.cfa-alert{color:#9a3b00}.cfa-success{color:#23713b}.cfa-services{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px}.cfa-service{appearance:none;text-align:center;border:1px solid #dfe8e2!important;background:#fff!important;border-radius:16px;padding:22px 15px!important;margin:0!important;text-decoration:none!important;color:#263d2f!important;cursor:pointer;min-height:218px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-shadow:0 6px 20px rgba(30,70,42,.05)}.cfa-service:hover{border-color:#9dcc25!important;transform:translateY(-1px)}.cfa-service-icon{font-size:42px;line-height:1;color:#3b8a36;margin-bottom:13px}.cfa-service strong{font-size:17px;color:#205f31;margin-bottom:8px}.cfa-service span:not(.cfa-service-icon){font-size:14px;color:#66766d;min-height:60px}.cfa-service em{font-style:normal;background:#a8df00;color:#173b1b;border-radius:8px;padding:8px 12px;font-weight:800;margin-top:auto}.cfa-disabled{background:#f5f6f5!important;color:#7a827d!important}.cfa-disabled .cfa-service-icon,.cfa-disabled strong{color:#7a827d!important}.cfa-disabled em{background:#ddd;color:#666}.cfa-notice{background:#f3f7f4;border-left:4px solid #8cc800;padding:13px 14px;border-radius:8px;margin:14px 0;color:#42564a}.cfa-warn{border-left-color:#e49b28;background:#fff8eb;color:#83520d}.cfa-loading{color:#607067}.cfa-credito{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 4px;border-bottom:1px solid #e7ece9}.cfa-credit-info span{display:block;margin-top:4px;color:#5d7063;font-size:14px}.cfa-credit-info .cfa-obligacion{font-size:17px;color:#263d2f;font-weight:800;margin-bottom:6px}.cfa-agency-result{margin-top:16px;background:#eef9e8;border:1px solid #b7dc9d;border-radius:12px;padding:18px;color:#215d31}.cfa-agency-result strong{display:block;font-size:20px}.cfa-agency-result span{display:block;margin-top:5px;color:#5a6e60}.cfa-menu-portal{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:10px 16px!important;margin:0 8px!important;border:1px solid #78a91f!important;border-radius:12px!important;background:#fff!important;color:#285d2f!important;text-decoration:none!important;font-weight:800!important;white-space:nowrap!important}.cfa-menu-portal:hover{background:#f2f8df!important}.cfa-menu-li{display:flex!important;align-items:center!important}@media(max-width:850px){.cfa-services{grid-template-columns:1fr 1fr}.cfa-menu-portal{padding:8px 10px!important;margin:4px!important}}@media(max-width:680px){#cfa{margin:18px auto}.cfa-card{padding:21px;border-radius:15px}.cfa-card h2{font-size:24px}.cfa-grid{grid-template-columns:1fr;gap:0}.cfa-head{display:block}.cfa-head .cfa-secondary{margin-top:10px}.cfa-services{grid-template-columns:1fr}.cfa-service{min-height:auto}.cfa-credito{display:block}.cfa-btn{width:100%;text-align:center}.cfa-auth-links{display:block;text-align:center}.cfa-linkbtn{display:block;margin:8px auto}}

/* v0.4.2 - Ajuste visual seguro del panel de servicios y vista móvil. */
#cfa.cfa-portal{width:calc(100% - 28px)!important;max-width:1120px!important;margin-left:auto!important;margin-right:auto!important;overflow:visible!important}
#cfa .cfa-dashboard{overflow:hidden!important}
#cfa .cfa-services{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;width:100%!important;max-width:100%!important;margin:22px 0 0!important;padding:0!important;overflow:visible!important;align-items:stretch!important}
#cfa .cfa-service{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:250px!important;height:100%!important;margin:0!important;padding:24px 16px 18px!important;white-space:normal!important;overflow:hidden!important;text-align:center!important;line-height:1.35!important}
#cfa .cfa-service *{box-sizing:border-box!important;white-space:normal!important;max-width:100%!important}
#cfa .cfa-service-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:58px!important;height:58px!important;min-height:58px!important;margin:0 auto 15px!important;color:#2f8a35!important}
#cfa .cfa-service-icon svg{display:block!important;width:56px!important;height:56px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.6!important;stroke-linecap:round!important;stroke-linejoin:round!important}
#cfa .cfa-service strong{display:block!important;width:100%!important;margin:0 0 9px!important;font-size:17px!important;line-height:1.28!important;color:#1f5f30!important;text-align:center!important}
#cfa .cfa-service>span:not(.cfa-service-icon){display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-height:72px!important;margin:0!important;font-size:14px!important;line-height:1.45!important;color:#66766d!important;text-align:center!important}
#cfa .cfa-service small{display:block!important;margin-top:5px!important;color:#315d3a!important;font-size:13px!important;font-weight:700!important}
#cfa .cfa-service em{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;margin:auto 0 0!important;padding:9px 14px!important;border-radius:9px!important;background:#a8df00!important;color:#173b1b!important;font-size:14px!important;font-style:normal!important;font-weight:800!important;text-decoration:none!important}
#cfa .cfa-disabled{background:#fafafa!important;border-color:#e2e5e3!important;opacity:1!important}
#cfa .cfa-disabled .cfa-service-icon,#cfa .cfa-disabled strong{color:#777f7a!important}
#cfa .cfa-disabled em{background:#e2e2e2!important;color:#666!important}
#cfa .cfa-whatsapp-service .cfa-service-icon{color:#2b9b45!important}
#cfa .cfa-service:focus-visible{outline:3px solid rgba(140,200,0,.35)!important;outline-offset:2px!important}
@media(max-width:920px){#cfa .cfa-services{grid-template-columns:repeat(2,minmax(0,1fr))!important}#cfa .cfa-service{min-height:235px!important}}
@media(max-width:600px){#cfa.cfa-portal{width:calc(100% - 20px)!important;margin-top:14px!important}#cfa .cfa-card{padding:18px!important;border-radius:14px!important}#cfa .cfa-services{grid-template-columns:1fr!important;gap:13px!important;margin-top:16px!important}#cfa .cfa-service{min-height:0!important;padding:21px 17px 17px!important}#cfa .cfa-service>span:not(.cfa-service-icon){min-height:0!important;margin-bottom:16px!important}#cfa .cfa-head{display:flex!important;flex-direction:column!important;gap:8px!important}#cfa .cfa-head .cfa-secondary{align-self:flex-start!important}#cfa .cfa-card h2{font-size:22px!important;line-height:1.25!important}#cfa .cfa-service-panel{scroll-margin-top:20px!important}}

/* ============================================================
   CFA Documents module — E9
   Uses Font Awesome 6 Free for all icons — no emojis.
   ============================================================ */

/* Section header icon */
.cfa-section-icon { margin-right: 6px; color: var(--cfa-green, #1a7a4c); }

/* Filter bar */
.cfa-documents { margin-top: 8px; }
.cfa-documents h2 { font-size: 1.25rem; font-weight: 700; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.cfa-doc-filters { margin-bottom: 16px; }
.cfa-filter-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; }
.cfa-filter-row select,
.cfa-filter-row input[type="text"] { padding: 6px 10px; border: 1px solid var(--cfa-border,#d1d5db); border-radius: 6px; font-size: 0.875rem; }
.cfa-doc-count { color: var(--cfa-muted,#6b7280); font-size: 0.85rem; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; }

/* Card grid */
.cfa-doc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }

/* Card */
.cfa-doc-card {
  background: var(--cfa-surface,#fff);
  border: 1px solid var(--cfa-border,#e5e7eb);
  border-radius: 12px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: box-shadow .2s, transform .15s;
}
.cfa-doc-card:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,.1);
  transform: translateY(-2px);
}

/* Card header row */
.cfa-doc-card-header { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* Badges */
.cfa-badge {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: .05em;
  padding: 3px 8px;
  border-radius: 20px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.cfa-badge-new  { background: #dbeafe; color: #1e40af; }
.cfa-badge-read { background: #f3f4f6; color: #6b7280; }
.cfa-badge-new  .fa-star  { color: #3b82f6; }
.cfa-badge-read .fa-check { color: #9ca3af; }

/* Category tag */
.cfa-doc-cat {
  font-size: 0.72rem;
  color: var(--cfa-accent, #1a7a4c);
  font-weight: 600;
  background: #f0fdf4;
  padding: 3px 9px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* OTP shield badge */
.cfa-doc-otp-badge {
  margin-left: auto;
  color: #d97706;
  font-size: 0.95rem;
  cursor: help;
}

/* File type icon */
.cfa-doc-file-icon {
  font-size: 2.5rem;
  color: var(--cfa-green, #1a7a4c);
  opacity: .85;
  line-height: 1;
}
.cfa-doc-file-icon .fa-file-pdf   { color: #dc2626; }
.cfa-doc-file-icon .fa-file-image { color: #7c3aed; }

/* Title */
.cfa-doc-title { font-size: 1rem; font-weight: 700; margin: 0; color: var(--cfa-text,#111827); line-height: 1.35; }

/* Description */
.cfa-doc-desc { font-size: 0.83rem; color: var(--cfa-muted,#6b7280); margin: 0; }

/* Meta list */
.cfa-doc-meta {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 10px;
  font-size: 0.78rem;
  color: var(--cfa-muted,#6b7280);
  margin: 0;
}
.cfa-doc-meta dt {
  font-weight: 600;
  color: var(--cfa-text,#374151);
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.cfa-doc-filename { word-break: break-all; }

/* Actions */
.cfa-doc-actions { margin-top: auto; padding-top: 12px; }

/* Download button */
.cfa-btn-download {
  width: 100%;
  padding: 10px 16px;
  border: none;
  border-radius: 8px;
  background: var(--cfa-green, #1a7a4c);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s, box-shadow .2s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.cfa-btn-download:hover:not(:disabled) {
  background: var(--cfa-green-dark, #135c39);
  box-shadow: 0 4px 12px rgba(26,122,76,.35);
}
.cfa-btn-download:disabled { opacity: .6; cursor: wait; }

/* OTP download variant */
.cfa-btn-otp { background: #92400e; }
.cfa-btn-otp:hover:not(:disabled) { background: #78350f; box-shadow: 0 4px 12px rgba(120,53,15,.35); }
.cfa-btn-otp .fa-shield-halved { color: #fcd34d; }

/* Empty state */
.cfa-doc-empty {
  padding: 48px 24px;
  text-align: center;
  color: var(--cfa-muted,#6b7280);
  border: 2px dashed var(--cfa-border,#e5e7eb);
  border-radius: 12px;
}
.cfa-empty-icon { font-size: 3rem; opacity: .4; display: block; margin-bottom: 12px; }

/* Pagination */
.cfa-pagination { display: flex; gap: 6px; margin-top: 24px; flex-wrap: wrap; justify-content: center; }
.cfa-page-link {
  padding: 6px 14px;
  border: 1px solid var(--cfa-border,#e5e7eb);
  border-radius: 8px;
  color: var(--cfa-text,#374151);
  text-decoration: none;
  font-size: 0.875rem;
  transition: background .15s, border-color .15s;
}
.cfa-page-link:hover { background: #f3f4f6; }
.cfa-page-link.active { background: var(--cfa-green,#1a7a4c); color: #fff; border-color: transparent; }

/* Utility buttons */
.cfa-btn-sm {
  padding: 7px 14px;
  border: 1px solid var(--cfa-border,#d1d5db);
  border-radius: 8px;
  background: var(--cfa-surface,#fff);
  cursor: pointer;
  font-size: 0.83rem;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: var(--cfa-text,#374151);
  transition: background .15s;
}
.cfa-btn-sm:hover { background: #f9fafb; }
.cfa-btn-outline { border-color: var(--cfa-border,#d1d5db); color: var(--cfa-muted,#6b7280); }
