:root{
  --cfca-v62-text:#14532d;
  --cfca-v62-muted:#335c3f;
  --cfca-v62-soft:#eef8f0;
  --cfca-v62-border:#cfe7d3;
  --cfca-v62-accent:#2e7d32;
  --cfca-v62-focus:rgba(46,125,50,.35);
}

.cfca-bridge-note{
  padding:10px 12px;
  border:1px dashed #7aa27a;
  border-radius:10px;
  background:#f5fbf5;
  color:#264026;
}

.cfca-editor-enhanced{
  margin-top:8px;
  color:var(--cfca-v62-text);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.5;
}

.cfca-editor-enhanced *,
.cfca-editor-enhanced *::before,
.cfca-editor-enhanced *::after{
  box-sizing:border-box;
}

.cfca-editor-enhanced .cfca-form-panel{
  padding:20px;
  overflow:hidden;
  border-color:var(--cfca-v62-border);
}

.cfca-editor-enhanced .cfca-editor-header{
  box-shadow:0 12px 28px rgba(15,23,42,.10);
}

.cfca-editor-enhanced .cfca-editor-tabs{
  display:flex;
  gap:8px;
  padding:12px 16px;
  background:#f5faf6;
}

.cfca-editor-enhanced .cfca-editor-tab{
  min-height:40px;
  padding:9px 16px;
  font-size:.92rem;
  border-radius:10px;
  transition:
    background-color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    color .2s ease;
}

.cfca-editor-enhanced .cfca-editor-tab:hover{
  background:#edf7ef;
}

.cfca-editor-enhanced .cfca-editor-tab.is-done{
  border-color:#9fd3a6;
}

.cfca-editor-enhanced .cfca-editor-tab.is-done::after{
  content:"✓";
  margin-left:8px;
}

.cfca-editor-enhanced .cfca-table tr.is-selected{
  outline:2px solid rgba(46,125,50,.18);
  background:#f7fbf7;
}

.cfca-editor-enhanced .cfca-field label{
  margin-bottom:6px;
  color:var(--cfca-v62-text);
}

.cfca-editor-enhanced .cfca-field input,
.cfca-editor-enhanced .cfca-field select,
.cfca-editor-enhanced .cfca-field textarea{
  background:#fff;
  color:var(--cfca-v62-text);
}

.cfca-editor-enhanced .cfca-field input,
.cfca-editor-enhanced .cfca-field select,
.cfca-editor-enhanced .cfca-field textarea,
.cfca-editor-enhanced .cfca-input,
.cfca-editor-enhanced .cfca-select,
.cfca-editor-enhanced .cfca-search-input{
  min-height:40px;
  padding:8px 12px;
  border-radius:10px;
  border-color:var(--cfca-v62-border);
  transition:
    background-color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    color .2s ease;
}

.cfca-editor-enhanced .cfca-search-input{
  padding-left:42px;
}

.cfca-editor-enhanced input:focus,
.cfca-editor-enhanced select:focus,
.cfca-editor-enhanced textarea:focus,
.cfca-editor-enhanced button:focus{
  outline:2px solid var(--cfca-v62-focus);
  outline-offset:2px;
  border-color:var(--cfca-v62-accent);
}

.cfca-editor-enhanced .cfca-btn-primary,
.cfca-editor-enhanced .cfca-btn-secondary,
.cfca-editor-enhanced .cfca-save-btn,
.cfca-editor-enhanced .cfca-cancel-btn{
  min-height:40px;
  padding:9px 16px;
  border-radius:10px;
  transition:
    background-color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    color .2s ease,
    filter .2s ease;
}

.cfca-editor-enhanced .cfca-btn-primary:hover,
.cfca-editor-enhanced .cfca-save-btn:hover{
  filter:brightness(.96);
}

.cfca-editor-enhanced .cfca-table-container{
  min-height:240px;
  overflow:auto;
  resize:vertical;
}

.cfca-editor-enhanced .cfca-table{
  width:100%;
  border-collapse:collapse;
}

.cfca-editor-enhanced .cfca-table thead,
.cfca-editor-enhanced .cfca-table th{
  background:#e7f4ea !important;
  color:var(--cfca-v62-text) !important;
  text-shadow:none !important;
}

.cfca-editor-enhanced .cfca-table th{
  font-weight:700;
  white-space:nowrap;
}

.cfca-editor-enhanced .cfca-table td{
  color:#1f2937;
  vertical-align:middle;
}

.cfca-editor-enhanced .cfca-table td,
.cfca-editor-enhanced .cfca-table th{
  overflow-wrap:anywhere;
}

.cfca-editor-enhanced .cfca-search-wrapper{
  margin-top:14px;
  margin-bottom:14px;
}

.cfca-editor-enhanced .cfca-editor-meta{
  margin:14px 0;
}

.cfca-editor-enhanced .cfca-editor-stat{
  background:#fff;
  border:1px solid var(--cfca-v62-border);
  border-radius:14px;
}

@media (max-width:900px){
  .cfca-editor-enhanced .cfca-form-panel{
    padding:16px;
  }

  .cfca-editor-enhanced .cfca-editor-tabs{
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:thin;
  }

  .cfca-editor-enhanced .cfca-editor-tab{
    flex:0 0 auto;
    padding:8px 12px;
    font-size:.88rem;
    white-space:nowrap;
  }
}

/* ===== FCA MODAL PRO UX ===== */

.cfca-modal,
.fca-modal,
.modal-fca,
[class*="modal"]{
    backdrop-filter: blur(6px);
}

.cfca-modal-overlay,
.fca-modal-overlay,
[class*="overlay"]{
    background: rgba(0,0,0,.35) !important;
}

.cfca-modal-content,
.fca-modal-content,
[class*="modal-content"]{
    max-height:92vh !important;
    border-radius:24px !important;
    overflow:hidden !important;
    box-shadow:0 30px 90px rgba(0,0,0,.28) !important;
}

.cfca-modal-header,
.fca-modal-header{
    position:sticky;
    top:0;
    z-index:50;
    backdrop-filter: blur(12px);
}

.cfca-tabs,
.fca-tabs{
    position:sticky;
    top:72px;
    z-index:40;
    background:rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
    padding:8px 10px;
}

.cfca-modal-body,
.fca-modal-body{
    overflow-y:auto !important;
    max-height:calc(92vh - 140px) !important;
    padding-bottom:110px !important;
    scrollbar-width:thin;
}

.cfca-modal-body::-webkit-scrollbar,
.fca-modal-body::-webkit-scrollbar{
    width:8px;
}

.cfca-modal-body::-webkit-scrollbar-thumb,
.fca-modal-body::-webkit-scrollbar-thumb{
    background:#b7d4c3;
    border-radius:999px;
}

.cfca-grid,
.fca-grid{
    gap:14px !important;
}

.cfca-card,
.fca-card{
    border-radius:18px !important;
    box-shadow:0 10px 24px rgba(0,0,0,.05);
}

.cfca-label,
.fca-label{
    font-size:11px !important;
    letter-spacing:.04em;
    font-weight:800 !important;
    opacity:.82;
}

.cfca-google-maps,
.fca-google-maps,
a[href*="maps.google"]{
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:54px !important;
    border-radius:999px !important;
    font-weight:800 !important;
    font-size:16px !important;
    text-decoration:none !important;
    transition:all .2s ease;
}

.cfca-google-maps:hover,
.fca-google-maps:hover,
a[href*="maps.google"]:hover{
    transform:translateY(-1px);
}

.cfca-footer-actions,
.fca-footer-actions,
[class*="footer-actions"]{
    position:sticky;
    bottom:0;
    z-index:60;
    background:rgba(255,255,255,.95);
    backdrop-filter: blur(10px);
    padding:14px;
    border-top:1px solid rgba(0,0,0,.06);
}

.cfca-btn,
.fca-btn,
:where(.cfca-root,.cfca-calendar,.cfca-calendario,.cfca-public,.cfca-app,.calendario-fca,.cfca-container,.cfca-wrapper,.cfca-admin-bridge,.cfca-public-bridge) button{
    border-radius:14px !important;
}

@media(max-width:768px){

    .cfca-modal-content,
    .fca-modal-content{
        width:96vw !important;
        max-width:96vw !important;
        border-radius:18px !important;
    }

    .cfca-tabs,
    .fca-tabs{
        overflow-x:auto;
        flex-wrap:nowrap;
    }

    .cfca-tabs button,
    .fca-tabs button{
        white-space:nowrap;
    }
}



/* ===== FCA MODAL SPACE PRO 1.1 ===== */
/* Mejor uso del espacio, negrillas, centrado y lectura institucional */

.cfca-modal-content,
.fca-modal-content,
[class*="modal-content"]{
    width:min(1080px,94vw) !important;
}

.cfca-modal-header,
.fca-modal-header,
[class*="modal-header"]{
    text-align:center !important;
    padding:18px 28px 16px !important;
}

.cfca-modal-header h1,
.cfca-modal-header h2,
.cfca-modal-header h3,
.fca-modal-header h1,
.fca-modal-header h2,
.fca-modal-header h3,
[class*="modal-header"] h1,
[class*="modal-header"] h2,
[class*="modal-header"] h3{
    text-align:center !important;
    font-weight:900 !important;
    letter-spacing:-.02em;
    margin-left:auto !important;
    margin-right:auto !important;
}

.cfca-modal-header p,
.fca-modal-header p,
[class*="modal-header"] p{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.cfca-tabs,
.fca-tabs,
[class*="tabs"]{
    justify-content:center !important;
    gap:8px !important;
}

.cfca-tabs button,
.fca-tabs button,
[class*="tabs"] button{
    font-weight:900 !important;
    padding:8px 15px !important;
    min-height:36px !important;
}

.cfca-modal-body,
.fca-modal-body,
[class*="modal-body"]{
    padding:16px 18px 96px !important;
}

.cfca-section,
.fca-section,
[class*="section"]{
    margin-bottom:14px !important;
}

.cfca-section-title,
.fca-section-title,
[class*="section-title"],
.cfca-card-title,
.fca-card-title,
[class*="card-title"]{
    text-align:center !important;
    font-weight:900 !important;
    color:#0b5d3b !important;
    letter-spacing:.02em;
}

.cfca-card,
.fca-card,
[class*="card"]{
    padding:14px 16px !important;
}

.cfca-grid,
.fca-grid,
[class*="info-grid"],
[class*="detail-grid"]{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    align-items:stretch !important;
}

.cfca-field,
.fca-field,
[class*="field"],
[class*="dato"],
[class*="info-item"],
[class*="detail-item"]{
    display:grid !important;
    grid-template-columns:minmax(90px,.78fr) minmax(0,1.22fr) !important;
    align-items:center !important;
    gap:8px !important;
    padding:9px 11px !important;
    min-height:42px !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(11,93,59,.06);
}

.cfca-label,
.fca-label,
[class*="label"],
[class*="campo"]{
    font-weight:900 !important;
    text-transform:uppercase !important;
    color:#47665a !important;
    font-size:11px !important;
    letter-spacing:.045em !important;
    line-height:1.15 !important;
}

.cfca-value,
.fca-value,
[class*="value"],
[class*="valor"]{
    font-weight:800 !important;
    color:#19392c !important;
    text-align:right !important;
    line-height:1.25 !important;
    overflow-wrap:anywhere !important;
}

.cfca-status,
.fca-status,
[class*="status"],
[class*="estado"],
.cfca-badge,
.fca-badge,
[class*="badge"],
[class*="pill"]{
    font-weight:900 !important;
}

.cfca-google-maps,
.fca-google-maps,
a[href*="maps.google"]{
    width:min(520px,100%) !important;
    margin:12px auto 0 !important;
    min-height:48px !important;
    padding:0 22px !important;
    font-weight:900 !important;
    text-align:center !important;
}

.cfca-footer-actions,
.fca-footer-actions,
[class*="footer-actions"]{
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:12px !important;
}

.cfca-footer-actions button,
.cfca-footer-actions a,
.fca-footer-actions button,
.fca-footer-actions a,
[class*="footer-actions"] button,
[class*="footer-actions"] a{
    font-weight:900 !important;
    min-width:138px !important;
}

.cfca-modal table,
.fca-modal table,
[class*="modal"] table{
    width:100% !important;
    border-collapse:separate !important;
    border-spacing:0 6px !important;
}

.cfca-modal th,
.fca-modal th,
[class*="modal"] th{
    font-weight:900 !important;
    text-align:center !important;
}

.cfca-modal td,
.fca-modal td,
[class*="modal"] td{
    font-weight:700 !important;
}

@media(max-width:900px){
    .cfca-grid,
    .fca-grid,
    [class*="info-grid"],
    [class*="detail-grid"]{
        grid-template-columns:1fr !important;
    }

    .cfca-field,
    .fca-field,
    [class*="field"],
    [class*="dato"],
    [class*="info-item"],
    [class*="detail-item"]{
        grid-template-columns:1fr !important;
        text-align:left !important;
    }

    .cfca-value,
    .fca-value,
    [class*="value"],
    [class*="valor"]{
        text-align:left !important;
    }

    .cfca-footer-actions,
    .fca-footer-actions,
    [class*="footer-actions"]{
        justify-content:center !important;
        flex-wrap:wrap !important;
    }
}

@media(max-width:600px){
    .cfca-modal-content,
    .fca-modal-content,
    [class*="modal-content"]{
        width:96vw !important;
    }

    .cfca-modal-header,
    .fca-modal-header,
    [class*="modal-header"]{
        padding:16px 18px 14px !important;
    }

    .cfca-modal-body,
    .fca-modal-body,
    [class*="modal-body"]{
        padding:12px 12px 100px !important;
    }

    .cfca-card,
    .fca-card,
    [class*="card"]{
        padding:12px !important;
    }
}

/* ===== FCA ULTRA APP EXPERIENCE ===== */
:root{
  --fca-green:#0a6a42;
  --fca-green-2:#128557;
}

.cfca-modal-content,
.fca-modal-content,
[class*="modal-content"]{
    width:min(1180px,95vw)!important;
    border-radius:30px!important;
}

.cfca-modal-header,
.fca-modal-header,
[class*="modal-header"]{
    background:
      radial-gradient(circle at top right,rgba(255,255,255,.18),transparent 24%),
      linear-gradient(135deg,var(--fca-green),var(--fca-green-2))!important;
    color:#fff!important;
    padding:22px 30px 20px!important;
}

.cfca-modal-header h1,
.cfca-modal-header h2,
.cfca-modal-header h3,
.fca-modal-header h1,
.fca-modal-header h2,
.fca-modal-header h3{
    color:#fff!important;
    font-size:clamp(28px,3vw,44px)!important;
    line-height:1.05!important;
    text-shadow:0 3px 12px rgba(0,0,0,.16);
}

.cfca-tabs,
.fca-tabs,
[class*="tabs"]{
    padding:12px!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.82)!important;
    box-shadow:0 10px 24px rgba(0,0,0,.04);
}

.cfca-tabs button,
.fca-tabs button,
[class*="tabs"] button{
    border-radius:14px!important;
    font-weight:900!important;
    transition:all .18s ease;
}

.cfca-tabs button.active,
.fca-tabs button.active{
    background:linear-gradient(135deg,var(--fca-green),var(--fca-green-2))!important;
    color:#fff!important;
}

.cfca-card,
.fca-card,
[class*="card"]{
    border-radius:22px!important;
    box-shadow:0 14px 34px rgba(0,0,0,.06)!important;
    transition:all .22s ease;
}

.cfca-card:hover,
.fca-card:hover,
[class*="card"]:hover{
    transform:translateY(-2px);
    box-shadow:0 20px 46px rgba(0,0,0,.1)!important;
}

.cfca-label,
.fca-label,
[class*="label"]{
    font-size:10px!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
}

.cfca-value,
.fca-value,
[class*="value"]{
    font-size:15px!important;
    font-weight:900!important;
}

.cfca-google-maps,
.fca-google-maps,
a[href*="maps.google"]{
    background:linear-gradient(135deg,var(--fca-green),var(--fca-green-2))!important;
    color:#fff!important;
    box-shadow:0 14px 28px rgba(10,106,66,.24)!important;
}

.cfca-google-maps:hover,
.fca-google-maps:hover,
a[href*="maps.google"]:hover{
    transform:translateY(-2px) scale(1.01)!important;
}

.cfca-modal-body::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,var(--fca-green),var(--fca-green-2));
    border-radius:999px;
}


/* ===== CFCA SAFE UPDATE + VISIBLE BOARD FIX ===== */
/* Capa segura: no cambia PHP ni JS, solo corrige recortes visuales */

.cfca-modal-content,
.fca-modal-content,
[class*="modal-content"]{
    overflow:visible !important;
}

.cfca-modal-body,
.fca-modal-body,
[class*="modal-body"]{
    overflow-y:auto !important;
    overflow-x:visible !important;
}

/* Mantener visible cualquier tablero, mapa, canvas o visor */
.cfca-board-wrap,
.fca-board-wrap,
.cfca-chessboard-wrap,
.fca-chessboard-wrap,
[class*="board-wrap"],
[class*="chessboard-wrap"],
[class*="tablero-wrap"],
[class*="map-wrap"],
[class*="visor-wrap"]{
    position:relative !important;
    z-index:35 !important;
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    overflow:visible !important;
    margin:14px auto !important;
}

.cfca-board,
.fca-board,
.cfca-chessboard,
.fca-chessboard,
[class*="chessboard"],
[class*="tablero"],
[class*="board"]{
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:1 / 1;
    object-fit:contain !important;
    overflow:visible !important;
}

/* Evitar que grid o cards recorten elementos internos */
.cfca-card,
.fca-card,
[class*="card"],
.cfca-grid,
.fca-grid,
[class*="grid"],
[class*="section"]{
    overflow:visible !important;
}

/* Si hay iframe, canvas, svg o imagen, que se vea completo */
.cfca-modal iframe,
.cfca-modal canvas,
.cfca-modal svg,
.cfca-modal img,
.fca-modal iframe,
.fca-modal canvas,
.fca-modal svg,
.fca-modal img,
[class*="modal"] iframe,
[class*="modal"] canvas,
[class*="modal"] svg,
[class*="modal"] img{
    max-width:100% !important;
}

/* Modal más estable para actualización */
.cfca-modal-content,
.fca-modal-content{
    max-height:94vh !important;
}

@media(max-width:768px){
    .cfca-board,
    .fca-board,
    .cfca-chessboard,
    .fca-chessboard,
    [class*="chessboard"],
    [class*="tablero"],
    [class*="board"]{
        width:100% !important;
        max-width:100% !important;
    }
}


/* ===== CFCA POLISH CONTRAST + INPUT FIELDS ===== */
/* Mejor contraste, campos visibles, bordes suaves y lectura más agradable */

/* Evitar separación fea izquierda/derecha */
.cfca-field,
.fca-field,
[class*="field"],
[class*="dato"],
[class*="info-item"],
[class*="detail-item"]{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:5px !important;
    text-align:left !important;

    background:#ffffff !important;
    border:1px solid rgba(10,106,66,.16) !important;
    box-shadow:
        0 6px 16px rgba(10,106,66,.06),
        inset 0 1px 0 rgba(255,255,255,.9) !important;
    border-radius:16px !important;
    padding:12px 14px !important;
}

/* Label: pequeño, oscuro, elegante */
.cfca-label,
.fca-label,
[class*="label"],
[class*="campo"]{
    color:#2f5546 !important;
    font-size:11px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    letter-spacing:.055em !important;
    text-transform:uppercase !important;
}

/* Valor: más grande, más oscuro */
.cfca-value,
.fca-value,
[class*="value"],
[class*="valor"]{
    color:#102d22 !important;
    font-size:16px !important;
    font-weight:850 !important;
    line-height:1.3 !important;
    text-align:left !important;
    width:100% !important;
    overflow-wrap:anywhere !important;
}

/* Cuadros donde se pide información: inputs, selects, textarea */
.cfca-modal input,
.cfca-modal select,
.cfca-modal textarea,
.fca-modal input,
.fca-modal select,
.fca-modal textarea,
[class*="modal"] input,
[class*="modal"] select,
[class*="modal"] textarea{
    background:#ffffff !important;
    color:#102d22 !important;
    border:1.5px solid rgba(10,106,66,.28) !important;
    border-radius:14px !important;
    min-height:44px !important;
    padding:10px 13px !important;
    font-size:15px !important;
    font-weight:700 !important;
    box-shadow:
        0 6px 16px rgba(10,106,66,.06),
        inset 0 1px 0 rgba(255,255,255,.95) !important;
    outline:none !important;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

/* Placeholder más suave pero legible */
.cfca-modal input::placeholder,
.cfca-modal textarea::placeholder,
.fca-modal input::placeholder,
.fca-modal textarea::placeholder,
[class*="modal"] input::placeholder,
[class*="modal"] textarea::placeholder{
    color:#789589 !important;
    font-weight:600 !important;
}

/* Focus agradable */
.cfca-modal input:focus,
.cfca-modal select:focus,
.cfca-modal textarea:focus,
.fca-modal input:focus,
.fca-modal select:focus,
.fca-modal textarea:focus,
[class*="modal"] input:focus,
[class*="modal"] select:focus,
[class*="modal"] textarea:focus{
    border-color:#0b6b43 !important;
    box-shadow:
        0 0 0 4px rgba(11,107,67,.12),
        0 10px 22px rgba(10,106,66,.12) !important;
    transform:translateY(-1px);
}

/* Textareas cómodos */
.cfca-modal textarea,
.fca-modal textarea,
[class*="modal"] textarea{
    min-height:96px !important;
    resize:vertical !important;
    line-height:1.45 !important;
}

/* Títulos de sección más visibles */
.cfca-section-title,
.fca-section-title,
[class*="section-title"],
.cfca-card-title,
.fca-card-title,
[class*="card-title"]{
    color:#063f28 !important;
    font-size:21px !important;
    font-weight:950 !important;
    text-align:left !important;
    letter-spacing:-.01em !important;
}

/* Cards con borde más visible */
.cfca-card,
.fca-card,
[class*="card"]{
    border:1px solid rgba(10,106,66,.14) !important;
    box-shadow:
        0 10px 26px rgba(10,106,66,.07),
        inset 0 1px 0 rgba(255,255,255,.85) !important;
}

/* Grids más balanceados */
.cfca-grid,
.fca-grid,
[class*="info-grid"],
[class*="detail-grid"]{
    gap:10px !important;
    align-items:start !important;
}

/* Badges con más contraste */
.cfca-badge,
.fca-badge,
[class*="badge"],
[class*="pill"]{
    color:#073b26 !important;
    background:#dff4e8 !important;
    border:1px solid rgba(10,106,66,.18) !important;
    font-weight:950 !important;
}

/* Botones más claros */
.cfca-btn,
.fca-btn,
[class*="btn"],
:where(.cfca-root,.cfca-calendar,.cfca-calendario,.cfca-public,.cfca-app,.calendario-fca,.cfca-container,.cfca-wrapper,.cfca-admin-bridge,.cfca-public-bridge) button{
    font-weight:900 !important;
}

/* Modo móvil: campos bien legibles */
@media(max-width:700px){
    .cfca-value,
    .fca-value,
    [class*="value"],
    [class*="valor"]{
        font-size:15px !important;
    }

    .cfca-field,
    .fca-field,
    [class*="field"],
    [class*="dato"],
    [class*="info-item"],
    [class*="detail-item"]{
        padding:11px 12px !important;
    }
}

/* =========================================================
   CFCA 6.9.7 PRO ELITE - CENTRADO TOTAL + CONTRASTE FCA
   Cambio seguro: solo CSS. No modifica lógica PHP ni JS.
   ========================================================= */

:root{
  --cfca-elite-green-950:#052f24;
  --cfca-elite-green-900:#074231;
  --cfca-elite-green-850:#08513d;
  --cfca-elite-green-800:#0b6048;
  --cfca-elite-green-700:#0e7557;
  --cfca-elite-green-600:#10906a;
  --cfca-elite-mint:#e9fff5;
  --cfca-elite-white:#ffffff;
  --cfca-elite-text:#143a30;
  --cfca-elite-border:rgba(255,255,255,.22);
  --cfca-elite-shadow:0 16px 38px rgba(2,35,25,.24);
}

/* Base: lectura limpia y centrada en zonas informativas */
.cfca-wrapper,
.cfca-container,
.cfca-calendario,
.cfca-public,
.cfca-app,
.cfca-panel,
.fca-panel{
  font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif !important;
  color:var(--cfca-elite-text) !important;
}

/* Fondo general más institucional */
.cfca-wrapper,
.cfca-container,
.cfca-public,
.cfca-calendario,
.cfca-app{
  background:linear-gradient(180deg,#f4fff9 0%,#e8f8ef 100%) !important;
  border-radius:22px !important;
}

/* Todos los bloques informativos principales: verde oscuro + letra blanca */
.cfca-card,
.cfca-box,
.cfca-info,
.cfca-event-card,
.cfca-evento,
.cfca-detalle,
.cfca-detail,
.cfca-detail-card,
.cfca-tab-panel,
.cfca-panel-info,
.cfca-resumen,
.cfca-summary,
.cfca-validacion-card,
.cfca-carnet-card,
.cfca-inscripcion-card,
.cfca-modal-content,
.fca-card,
.fca-box,
.fca-info,
[class*="cfca-"][class*="card"],
[class*="cfca-"][class*="box"],
[class*="cfca-"][class*="detalle"],
[class*="cfca-"][class*="info"]{
  background:linear-gradient(180deg,var(--cfca-elite-green-800),var(--cfca-elite-green-950)) !important;
  color:var(--cfca-elite-white) !important;
  border:1px solid var(--cfca-elite-border) !important;
  border-radius:20px !important;
  box-shadow:var(--cfca-elite-shadow) !important;
  text-align:center !important;
}

/* Textos centrados en información, sin justificar */
.cfca-info *,
.cfca-card *,
.cfca-box *,
.cfca-event-card *,
.cfca-evento *,
.cfca-detalle *,
.cfca-detail *,
.cfca-tab-panel *,
.cfca-modal-content .cfca-info *,
.cfca-modal-content .cfca-detalle *,
.cfca-modal-content .cfca-tab-panel *,
.fca-info *,
.fca-card *,
.fca-box *{
  text-align:center !important;
}

/* Letras blancas dentro de cuadros verdes */
.cfca-card,
.cfca-card p,
.cfca-card span,
.cfca-card div,
.cfca-card strong,
.cfca-card small,
.cfca-card label,
.cfca-box,
.cfca-box p,
.cfca-box span,
.cfca-box div,
.cfca-box strong,
.cfca-box small,
.cfca-info,
.cfca-info p,
.cfca-info span,
.cfca-info div,
.cfca-info strong,
.cfca-info small,
.cfca-event-card,
.cfca-event-card p,
.cfca-event-card span,
.cfca-event-card div,
.cfca-detalle,
.cfca-detalle p,
.cfca-detalle span,
.cfca-detalle div,
.cfca-tab-panel,
.cfca-tab-panel p,
.cfca-tab-panel span,
.cfca-tab-panel div{
  color:#fff !important;
}

/* Títulos más subidos, centrados y elegantes */
.cfca-card h1,.cfca-card h2,.cfca-card h3,.cfca-card h4,
.cfca-box h1,.cfca-box h2,.cfca-box h3,.cfca-box h4,
.cfca-info h1,.cfca-info h2,.cfca-info h3,.cfca-info h4,
.cfca-event-card h1,.cfca-event-card h2,.cfca-event-card h3,.cfca-event-card h4,
.cfca-modal-content h1,.cfca-modal-content h2,.cfca-modal-content h3,.cfca-modal-content h4,
.fca-card h1,.fca-card h2,.fca-card h3,.fca-card h4{
  color:#fff !important;
  text-align:center !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  line-height:1.2 !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Etiquetas/datos en grilla: centrados y bonitos */
.cfca-field,
.cfca-data-item,
.cfca-info-item,
.cfca-detail-item,
.cfca-meta-item,
.cfca-dato,
.cfca-valor,
.cfca-value,
.fca-field,
.fca-data-item,
.fca-info-item,
.fca-detail-item,
[class*="field"],
[class*="dato"],
[class*="valor"],
[class*="info-item"],
[class*="detail-item"]{
  text-align:center !important;
  justify-content:center !important;
  align-items:center !important;
  border-radius:16px !important;
}

/* Cuando los datos estén dentro de tarjeta verde, crear contraste sutil */
.cfca-card .cfca-field,
.cfca-card .cfca-data-item,
.cfca-card .cfca-info-item,
.cfca-card .cfca-detail-item,
.cfca-box .cfca-field,
.cfca-box .cfca-data-item,
.cfca-box .cfca-info-item,
.cfca-info .cfca-field,
.cfca-info .cfca-data-item,
.cfca-info .cfca-info-item,
.cfca-tab-panel .cfca-field,
.cfca-tab-panel .cfca-data-item,
.cfca-tab-panel .cfca-info-item,
.cfca-modal-content .cfca-field,
.cfca-modal-content .cfca-data-item,
.cfca-modal-content .cfca-info-item{
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#fff !important;
}

/* Formularios: cuadros visibles, claros y con texto oscuro */
.cfca-form input,
.cfca-form select,
.cfca-form textarea,
.cfca-input,
.cfca-select,
.cfca-textarea,
.cfca-modal-content input,
.cfca-modal-content select,
.cfca-modal-content textarea,
.fca-form input,
.fca-form select,
.fca-form textarea{
  background:#ffffff !important;
  color:#0b2f25 !important;
  border:2px solid rgba(5,47,36,.35) !important;
  border-radius:14px !important;
  box-shadow:0 4px 12px rgba(0,0,0,.12), inset 0 1px 2px rgba(0,0,0,.06) !important;
  text-align:center !important;
  font-weight:700 !important;
}

.cfca-form input:focus,
.cfca-form select:focus,
.cfca-form textarea:focus,
.cfca-input:focus,
.cfca-select:focus,
.cfca-textarea:focus{
  outline:none !important;
  border-color:var(--cfca-elite-green-600) !important;
  box-shadow:0 0 0 4px rgba(16,144,106,.18), inset 0 1px 2px rgba(0,0,0,.08) !important;
}

.cfca-form input::placeholder,
.cfca-form textarea::placeholder,
.cfca-input::placeholder,
.cfca-textarea::placeholder{
  color:#5f7d74 !important;
  font-weight:600 !important;
}

/* Labels de formulario visibles sobre fondo oscuro */
.cfca-form label,
.cfca-modal-content label,
.fca-form label{
  color:#fff !important;
  text-align:center !important;
  font-weight:900 !important;
  display:block !important;
}

/* Pestañas centradas estilo app */
.cfca-tabs,
.cfca-tab-nav,
.cfca-modal-tabs,
.cfca-tab-buttons{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  text-align:center !important;
  margin:12px auto 20px !important;
}

.cfca-tab-btn,
.cfca-tabs button,
.cfca-tab-nav button,
.cfca-modal-tabs button,
.cfca-tab-buttons button{
  background:linear-gradient(180deg,#0f8d68,#074231) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.24) !important;
  border-radius:999px !important;
  padding:10px 18px !important;
  font-weight:950 !important;
  text-align:center !important;
  box-shadow:0 8px 18px rgba(2,35,25,.22) !important;
}

.cfca-tab-btn:hover,
.cfca-tab-btn.active,
.cfca-tabs button:hover,
.cfca-tabs button.active,
.cfca-tab-nav button:hover,
.cfca-tab-nav button.active{
  background:#fff !important;
  color:var(--cfca-elite-green-900) !important;
  transform:translateY(-1px) !important;
}

/* Botones: verdes intensos y centrados */
.cfca-actions,
.cfca-buttons,
.cfca-toolbar,
.cfca-modal-actions,
.fca-actions{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  text-align:center !important;
}

.cfca-btn,
.cfca-button,
button.cfca-btn,
button.cfca-button,
.cfca-actions button,
.cfca-toolbar button,
.fca-btn,
button.fca-btn{
  background:linear-gradient(180deg,var(--cfca-elite-green-600),var(--cfca-elite-green-900)) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:14px !important;
  font-weight:950 !important;
  text-align:center !important;
  box-shadow:0 9px 20px rgba(0,0,0,.22) !important;
}

.cfca-btn:hover,
.cfca-button:hover,
button.cfca-btn:hover,
button.cfca-button:hover,
.cfca-actions button:hover,
.fca-btn:hover{
  filter:brightness(1.10) !important;
  transform:translateY(-1px) !important;
}

/* Tablas centradas y con encabezado fuerte */
.cfca-table,
.cfca-tabla,
.cfca-modal-content table{
  border-radius:18px !important;
  overflow:hidden !important;
  box-shadow:0 12px 30px rgba(2,35,25,.18) !important;
}

.cfca-table table,
.cfca-tabla table,
.cfca-modal-content table{
  width:100% !important;
  border-collapse:collapse !important;
}

.cfca-table th,
.cfca-tabla th,
.cfca-modal-content table th{
  background:var(--cfca-elite-green-950) !important;
  color:#fff !important;
  text-align:center !important;
  font-weight:950 !important;
  padding:13px !important;
}

.cfca-table td,
.cfca-tabla td,
.cfca-modal-content table td{
  text-align:center !important;
  vertical-align:middle !important;
  padding:12px !important;
}

/* Alertas y mensajes centrados */
.cfca-alert,
.cfca-message,
.cfca-msg,
.cfca-success,
.cfca-warning,
.cfca-error,
.cfca-notice,
.fca-alert,
.fca-message{
  text-align:center !important;
  border-radius:16px !important;
  font-weight:900 !important;
  padding:14px 18px !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(0,0,0,.18) !important;
}

.cfca-success{background:#0f815e !important;}
.cfca-warning{background:#a56f00 !important;}
.cfca-error{background:#a72929 !important;}
.cfca-notice,.cfca-alert,.cfca-message,.cfca-msg{background:var(--cfca-elite-green-800) !important;}

/* Modal más centrado, compacto y legible */
.cfca-modal,
.cfca-modal-content{
  text-align:center !important;
}

.cfca-modal-content{
  max-width:980px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:22px !important;
}

/* Agenda/listados: tarjetas más ordenadas */
.cfca-agenda-item,
.cfca-list-item,
.cfca-event-row,
.cfca-cal-event{
  text-align:center !important;
  border-radius:18px !important;
  border:1px solid rgba(5,47,36,.16) !important;
  box-shadow:0 8px 22px rgba(2,35,25,.12) !important;
}

/* Calendario: días y eventos centrados */
.cfca-calendar-day,
.cfca-dia,
.cfca-day,
.cfca-event-title,
.cfca-event-meta{
  text-align:center !important;
}

/* Evitar texto justificado feo */
.cfca-wrapper p,
.cfca-container p,
.cfca-modal-content p,
.cfca-public p,
.fca-panel p{
  text-align:center !important;
  text-wrap:pretty;
}

/* Responsivo: todo compacto y centrado */
@media(max-width:768px){
  .cfca-card,
  .cfca-box,
  .cfca-info,
  .cfca-event-card,
  .cfca-modal-content,
  .cfca-tab-panel{
    border-radius:16px !important;
    padding:15px !important;
  }

  .cfca-tabs button,
  .cfca-tab-btn,
  .cfca-tab-nav button,
  .cfca-modal-tabs button{
    width:100% !important;
  }

  .cfca-actions button,
  .cfca-toolbar button,
  .cfca-btn,
  .cfca-button{
    width:100% !important;
  }
}


/* =========================================================
   CFCA 6.9.39 - Verdes más claros + toolbar minimalista limpia
   ========================================================= */
.cfca-public-scope{
  --cfca-verde:#15803d;
  --cfca-verde-oscuro:#166534;
  --cfca-verde-claro:#22c55e;
  --cfca-verde-suave:#f0fdf4;
  --cfca-verde-borde:#bbf7d0;
  --cfca-tinta:#102033;
  --cfca-linea:#d8eadf;
}
.cfca-public-scope .cfca-view-selector{background:linear-gradient(180deg,#fff,#f7fcf8)!important;border-color:var(--cfca-linea)!important;box-shadow:0 8px 22px rgba(21,128,61,.07)!important;}
.cfca-public-scope .cfca-view-btn,.cfca-public-scope .cfca-btn-secondary{border-radius:10px!important;border:1px solid #cfe8d6!important;background:#fff!important;color:var(--cfca-verde-oscuro)!important;box-shadow:none!important;}
.cfca-public-scope .cfca-view-btn.active{background:linear-gradient(135deg,#16a34a,#15803d)!important;color:#fff!important;border-color:#15803d!important;}
.cfca-public-scope .cfca-filters{background:#fff!important;border-color:var(--cfca-linea)!important;}
.cfca-public-scope .cfca-filter-group,.cfca-public-scope .cfca-compact-line{gap:12px!important;}
.cfca-public-scope .cfca-search-input,.cfca-public-scope .cfca-calendario-dropdown summary,.cfca-public-scope #limpiar-filtros{height:44px!important;min-height:44px!important;border-radius:10px!important;border-color:var(--cfca-linea)!important;color:var(--cfca-tinta)!important;}
.cfca-public-scope .cfca-search-icon{color:var(--cfca-verde)!important;}
.cfca-public-scope .cfca-calendario-dropdown summary,.cfca-public-scope #limpiar-filtros{background:#f8fff9!important;color:var(--cfca-verde-oscuro)!important;font-weight:900!important;}
.cfca-public-scope .cfca-search-input:focus,.cfca-public-scope .cfca-search-input:hover,.cfca-public-scope .cfca-calendario-dropdown summary:hover,.cfca-public-scope .cfca-calendario-dropdown[open] summary,.cfca-public-scope #limpiar-filtros:hover{border-color:#86efac!important;background:var(--cfca-verde-suave)!important;outline:none!important;}
.cfca-public-scope .cfca-calendario-box{border-color:#cfe8d6!important;border-radius:12px!important;box-shadow:0 18px 40px rgba(15,23,42,.16)!important;}
.cfca-public-scope .cfca-filter-title{color:var(--cfca-verde-oscuro)!important;}
.cfca-public-scope .cfca-calendario-box label:hover{background:var(--cfca-verde-suave)!important;}
.cfca-public-scope .cfca-table th{background:linear-gradient(135deg,#15803d,#166534)!important;color:#fff!important;}
.cfca-public-scope .cfca-table tbody tr:hover{background:#f0fdf4!important;}
.cfca-public-scope .cfca-counter,.cfca-public-scope .cfca-hoy-strip,.cfca-public-scope .cfca-active-filters,.cfca-public-scope .cfca-filter-chip,.cfca-public-scope .cfca-filter-tag,.cfca-public-scope .cfca-tipo-chips,.cfca-public-scope .cfca-checkbox-group,.cfca-public-scope .cfca-badge-tipo,.cfca-public-scope .cfca-badge-fecodaz,.cfca-public-scope .cfca-tag-fecodaz,.cfca-public-scope .cfca-advanced-filters{display:none!important;}


/* =========================================================
   CFCA 6.9.41 - FIX buscador dentro de toolbar, sin flotar
   ========================================================= */
.cfca-public-scope .cfca-filters.cfca-filters-compact{
  position:relative!important;
  overflow:visible!important;
  margin:0 0 14px!important;
  padding:10px!important;
}
.cfca-public-scope .cfca-filter-group.cfca-compact-line{
  display:grid!important;
  grid-template-columns:minmax(280px,1fr) auto auto!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
}
.cfca-public-scope .cfca-filter-group.cfca-compact-line > .cfca-search-wrapper{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  z-index:1!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  flex:unset!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  transform:none!important;
}
.cfca-public-scope .cfca-filter-group.cfca-compact-line .cfca-search-input{
  display:block!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 14px 0 42px!important;
  line-height:42px!important;
  text-align:left!important;
  border-radius:10px!important;
}
.cfca-public-scope .cfca-filter-group.cfca-compact-line .cfca-search-icon{
  position:absolute!important;
  left:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:2!important;
  pointer-events:none!important;
}
.cfca-public-scope .cfca-calendario-dropdown,
.cfca-public-scope #limpiar-filtros{
  align-self:center!important;
  margin:0!important;
}
.cfca-public-scope .cfca-calendario-dropdown summary,
.cfca-public-scope #limpiar-filtros{
  height:42px!important;
  min-height:42px!important;
  white-space:nowrap!important;
}
@media(max-width:720px){
  .cfca-public-scope .cfca-filter-group.cfca-compact-line{
    grid-template-columns:1fr!important;
  }
  .cfca-public-scope .cfca-calendario-dropdown,
  .cfca-public-scope #limpiar-filtros{
    width:100%!important;
  }
  .cfca-public-scope .cfca-calendario-dropdown summary,
  .cfca-public-scope #limpiar-filtros{
    width:100%!important;
    justify-content:center!important;
  }
}


/* CFCA 6.9.81 · Modal compacto: máximo dos filas de botones + consulta vertical limpia */
.cfca-public-scope #cfca-modal .cfca-event-hero-compact{padding:18px 24px 14px!important;min-height:auto!important;}
.cfca-public-scope #cfca-modal .cfca-event-hero-compact h2{font-size:clamp(28px,4vw,44px)!important;line-height:1.08!important;margin:0!important;}
.cfca-public-scope #cfca-modal .cfca-event-chips,
.cfca-public-scope #cfca-modal .cfca-event-premium-row,
.cfca-public-scope #cfca-modal .cfca-event-actions,
.cfca-public-scope #cfca-modal .cfca-modal-tabs,
.cfca-public-scope #cfca-modal .cfca-toolbar,
.cfca-public-scope #cfca-modal .cfca-modal-footer{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;justify-content:center!important;}
.cfca-public-scope #cfca-modal .cfca-event-chips{max-height:64px!important;overflow:hidden!important;}
.cfca-public-scope #cfca-modal .cfca-event-actions a,
.cfca-public-scope #cfca-modal .cfca-event-actions button,
.cfca-public-scope #cfca-modal .cfca-modal-tabs button,
.cfca-public-scope #cfca-modal .cfca-toolbar button,
.cfca-public-scope #cfca-modal .cfca-modal-footer button,
.cfca-public-scope #cfca-modal .cfca-link-button{min-height:34px!important;padding:7px 13px!important;border-radius:12px!important;font-size:13px!important;line-height:1.1!important;white-space:nowrap!important;}
.cfca-public-scope #cfca-modal .cfca-modal-tabs{position:sticky!important;top:0!important;margin:0!important;padding:8px!important;background:rgba(248,253,250,.96)!important;border-bottom:1px solid #dceee2!important;max-height:88px!important;overflow:hidden!important;}
.cfca-public-scope #cfca-modal .cfca-modal-tabs button{flex:0 1 auto!important;}
.cfca-public-scope #cfca-modal .cfca-elig-card-v2.cfca-elig-vertical{gap:10px!important;padding:12px!important;background:#f7fcf9!important;}
.cfca-public-scope #cfca-modal .cfca-elig-step{padding:12px!important;border-radius:14px!important;background:#fff!important;}
.cfca-public-scope #cfca-modal .cfca-elig-grid-v2.cfca-elig-grid-vertical{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;}
.cfca-public-scope #cfca-modal .cfca-elig-grid-v2 label:first-child{grid-column:1 / -1!important;}
.cfca-public-scope #cfca-modal .cfca-elig-vertical .cfca-input,
.cfca-public-scope #cfca-modal .cfca-elig-vertical .cfca-select{min-height:38px!important;padding:7px 10px!important;font-size:13px!important;}
.cfca-public-scope #cfca-modal [data-cfca-validar-elegibilidad],
.cfca-public-scope #cfca-modal [data-cfca-enviar-inscripcion]{min-height:40px!important;padding:9px 12px!important;border-radius:12px!important;}
.cfca-public-scope #cfca-modal .cfca-elig-result{font-size:13px!important;line-height:1.35!important;}
@media(max-width:720px){
  .cfca-public-scope #cfca-modal .cfca-elig-grid-v2.cfca-elig-grid-vertical{grid-template-columns:1fr!important;}
  .cfca-public-scope #cfca-modal .cfca-event-chips{max-height:none!important;}
}
