/* Kairo Journal - Nueva operacion */

/* ---------- Cabecera ---------- */
.kairo-nf .k-nf-head{padding:0!important;margin:0 0 22px!important;display:block!important;width:100%}
.k-nf-eyebrow,.k-nf-eyebrow .elementor-heading-title{font-size:12.5px!important;font-weight:800!important;letter-spacing:.1em;text-transform:uppercase;color:var(--primary)!important;margin:0!important;line-height:1.2}
.kairo-nf .k-title,.kairo-nf .k-title .elementor-heading-title{font-size:34px!important;font-weight:800!important;letter-spacing:-.03em;color:var(--text)!important;margin:6px 0 0!important;line-height:1.15}

/* ---------- Rejilla ---------- */
.k-nf-grid{display:grid!important;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start;padding:0!important;width:100%}
.k-nf-main{padding:0!important;width:100%!important;min-width:0}
.k-nf-side{padding:0!important;width:100%!important;position:sticky;top:86px;display:flex!important;flex-direction:column!important;gap:14px!important}
@media(max-width:1080px){.k-nf-grid{grid-template-columns:1fr}.k-nf-side{position:static}}

/* ---------- Tarjetas ---------- */
.k-nf-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:26px;box-shadow:var(--shadow);margin-bottom:16px}
.k-nf-card:last-child{margin-bottom:0}
.k-nf-cardhead{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.k-nf-num{width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13.5px;line-height:1}
.k-nf-cardtitle{font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1.25}
.k-nf-body{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}

/* ---------- Campos ---------- */
.k-nf-body .jet-form-builder-row{margin:0!important;padding:0!important;grid-column:span 12;min-width:0}
.k-nf-body .jet-form-builder__label,.k-nf-body>div>label{display:block;font-size:13px;font-weight:600;color:var(--text-2);margin:0 0 8px;line-height:1.25}
.k-nf-hint{color:var(--text-3);font-weight:500}
.k-nf-body .jet-form-builder__required{color:var(--red);margin-left:2px}
.k-nf-body .jet-form-builder__field{width:100%;height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:14px;font-weight:500;font-family:inherit;transition:border-color .15s,box-shadow .15s,background .15s}
.k-nf-body select.jet-form-builder__field{font-weight:600;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:44px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 16px center!important;background-size:16px 16px!important}
.k-nf-body .jet-form-builder__field-wrap{position:relative}
.k-nf-body .jet-form-builder__field-wrap::after,.k-nf-body .jet-form-builder__field-wrap::before{display:none!important}
.k-nf-body textarea.jet-form-builder__field{height:auto;min-height:130px;padding:13px 15px;line-height:1.55;resize:vertical}
.k-nf-body .jet-form-builder__field:hover{border-color:var(--text-3)}
.k-nf-body .jet-form-builder__field:focus{outline:none;border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px var(--ring)}

/* Reparto en la rejilla de 12 columnas (con scope .k-nf-body para ganar al span 12 por defecto) */
.k-nf-body .k-f-fecha,.k-nf-body .k-f-hora,.k-nf-body .k-f-simbolo{grid-column:span 4}
.k-nf-body .k-f-sesion{grid-column:span 4}
.k-nf-body .k-f-direccion{grid-column:span 8}
.k-nf-body .k-f-entrada,.k-nf-body .k-f-stop_loss{grid-column:span 6}
.k-nf-body .k-f-tp1,.k-nf-body .k-f-tp2,.k-nf-body .k-f-tp3{grid-column:span 4}
.k-nf-body .k-f-riesgo_pct{grid-column:span 6}
.k-nf-body .k-nf-auto{grid-column:span 6}
.k-nf-body .k-f-riesgo_pct,.k-nf-body .k-nf-auto{align-self:end}
.k-nf-body .k-f-resultado,.k-nf-body .k-f-emocion{grid-column:span 6}
.k-nf-body .k-f-smc_score{grid-column:span 12}
.k-nf-body .k-f-setup,.k-nf-body .k-f-timeframe,.k-nf-body .k-f-direccionalidad{grid-column:span 4}
.k-nf-body .k-f-confluencias,.k-nf-body .k-f-indicadores{grid-column:span 12}
.k-nf-body .k-f-tesis,.k-nf-body .k-f-aprendizaje{grid-column:span 12}
.k-nf-body .k-f-session_bt_id{grid-column:span 12!important}

/* Etiquetas con color */
.k-f-stop_loss .jet-form-builder__label{color:var(--red)!important}
.k-f-tp1 .jet-form-builder__label,.k-f-tp2 .jet-form-builder__label,.k-f-tp3 .jet-form-builder__label{color:var(--green)!important}

/* ---------- Direccion como par de botones ---------- */
.k-f-direccion .jet-form-builder__field{display:none!important}

/* ---------- Riesgo $ automatico ---------- */
.k-nf-auto{min-width:0}
.k-nf-auto-lbl{display:block;font-size:13px;font-weight:600;color:var(--text-2);margin:0 0 8px;line-height:1.25}
.k-nf-auto-lbl i{font-style:normal;color:var(--primary);font-weight:700;margin-left:5px}
.k-nf-auto-box{height:48px;border-radius:12px;border:1px solid var(--primary-soft);background:var(--primary-soft);color:var(--primary);font-size:15px;font-weight:800;display:flex;align-items:center;padding:0 14px}

/* ---------- SMC Score ---------- */
.k-f-smc_score .jet-form-builder__field{display:none!important}
.k-nf-smc-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.k-nf-smc-top>span:first-child{font-size:13px;font-weight:600;color:var(--text-2)}
.k-nf-smc-val{font-size:15px;font-weight:800;color:var(--primary)}
.k-nf-range{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:6px;background:var(--surface-3);background-image:linear-gradient(90deg,var(--primary),var(--primary));background-repeat:no-repeat;background-size:var(--k-fill,44%) 100%;outline:none;cursor:pointer;transition:background-size .1s}
.k-nf-range::-moz-range-progress{background:var(--primary);height:8px;border-radius:6px}
.k-nf-range::-moz-range-track{background:var(--surface-3);height:8px;border-radius:6px}
.k-nf-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary);border:3px solid var(--surface);box-shadow:0 2px 8px -2px rgba(37,99,235,.8);cursor:pointer}
.k-nf-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--primary);border:3px solid var(--surface);cursor:pointer}

/* ---------- Multiseleccion como pildoras ---------- */
.k-nf-body .jet-form-builder__fields-group{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
.k-nf-body .jet-form-builder__fields-group>.jet-form-builder__field-wrap{width:auto!important;margin:0!important;min-width:0}
@media(max-width:480px){.k-nf-body .jet-form-builder__fields-group{grid-template-columns:1fr!important}}
.k-nf-body .jet-form-builder__field-label{display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:13.5px;font-weight:600;color:var(--text-2);cursor:pointer;transition:all .15s;margin:0;line-height:1.2;user-select:none;white-space:nowrap}
.k-nf-body .jet-form-builder__field-label:hover{border-color:var(--text-3);color:var(--text)}
.k-nf-body .jet-form-builder__field-label input[type=checkbox],.k-nf-body .jet-form-builder__field-label input[type=radio]{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}
.k-nf-body .jet-form-builder__field-label.is-on,.k-nf-body .jet-form-builder__field-label:has(input:checked){background:var(--primary-soft);border-color:var(--primary);color:var(--primary);font-weight:700}

/* ---------- Grupos dentro de una tarjeta ---------- */
.k-nf-group{grid-column:span 12;margin-top:10px}
.k-nf-grouphead{font-size:14.5px;font-weight:800;color:var(--text);margin:0 0 14px;line-height:1.3}
.k-nf-grouphead .k-nf-hint{font-size:13px;font-weight:500;color:var(--text-3);margin-left:9px}
.k-nf-tfgrid{display:grid;grid-template-columns:1fr;gap:16px}
.k-nf-tf{display:flex;flex-direction:column;gap:12px;min-width:0}
.k-nf-exgrid{display:grid;grid-template-columns:1fr;gap:16px}
@media(max-width:900px){.k-nf-tfgrid,.k-nf-exgrid{grid-template-columns:1fr}}

/* ---------- Zonas de subida ---------- */
.k-nf-dzrow .jet-form-builder__label{display:none!important}
.k-nf-dzrow .jet-form-builder-file-upload{position:relative;border:2px dashed var(--primary);border-radius:16px;background:var(--primary-soft);display:flex;align-items:center;justify-content:center;min-height:300px;padding:20px;transition:border-color .15s,background .15s,box-shadow .15s}
.k-nf-dzrow .jet-form-builder-file-upload:hover,.k-nf-dzrow .jet-form-builder-file-upload:focus-within,.k-nf-dzrow .jet-form-builder-file-upload.is-drag{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 4px var(--ring)}
.k-nf-dzrow input[type="file"]{position:absolute!important;inset:0;width:100%!important;height:100%!important;opacity:0;cursor:pointer;z-index:3;padding:0!important;border:none!important;background:none!important}
.k-nf-dzrow .jet-form-builder-file-upload__message{display:none!important}
.k-nf-dzrow .jet-form-builder-file-upload__fields{position:static}
.k-nf-dz{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;pointer-events:none;text-align:center;position:absolute;inset:0;padding:20px;z-index:1}
.k-nf-dz-badge{display:inline-flex;align-items:center;justify-content:center;padding:8px 18px;border-radius:11px;background:var(--primary-soft);color:var(--primary);font-size:14.5px;font-weight:800;line-height:1}
.k-nf-dz-title{font-size:16.5px;font-weight:800;color:var(--text);line-height:1.25}
.k-nf-dz-ico{width:24px;height:24px;background-color:var(--text-3);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:24px 24px;mask-size:24px 24px;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E")}
.k-nf-dz-txt{font-size:13.5px;font-weight:500;color:var(--text-3);line-height:1.4;max-width:260px}
.k-nf-dzrow .jet-form-builder-file-upload__files{position:absolute;inset:10px;z-index:2;display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;pointer-events:none}
.k-nf-dzrow .jet-form-builder-file-upload__files:not(:empty)~*{opacity:0}

/* --- Estado con imagen cargada --- */
.k-nf-dzrow .jet-form-builder-file-upload.has-file{padding:0;overflow:hidden;border:1px solid var(--border);background:var(--surface-2);box-shadow:none}
.k-nf-dzrow .jet-form-builder-file-upload.has-file input[type="file"]{pointer-events:none;z-index:0}
.k-nf-dzrow .jet-form-builder-file-upload.has-file .k-nf-dz{display:none!important}
.k-nf-dzrow .jet-form-builder-file-upload.has-file .jet-form-builder-file-upload__files{position:absolute;inset:0;padding:10px;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;pointer-events:auto;opacity:1}
.k-nf-dzrow .jet-form-builder-file-upload__file{position:relative;margin:0;cursor:zoom-in;line-height:0}
.k-nf-dzrow .jet-form-builder-file-upload.has-file .jet-form-builder-file-upload__file{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;display:flex;align-items:center;justify-content:center}
.k-nf-dzrow .jet-form-builder-file-upload__files img{max-width:100%;max-height:100%;border-radius:12px;object-fit:contain;display:block}
.k-nf-dzrow .jet-form-builder-file-upload.has-file .jet-form-builder-file-upload__files img{width:100%!important;height:100%!important;object-fit:contain!important}
.k-nf-dzrow .jet-form-builder-file-upload__file::after{content:"Toca para ampliar";position:absolute;left:0;right:0;bottom:0;padding:9px 10px;font-size:11.5px;font-weight:600;line-height:1.2;color:#fff;text-align:center;background:linear-gradient(transparent,rgba(2,6,23,.62));border-radius:0 0 12px 12px;opacity:0;transition:opacity .15s;pointer-events:none}
.k-nf-dzrow .jet-form-builder-file-upload__file:hover::after{opacity:1}
.k-nf-dzrow .jet-form-builder-file-upload__file-remove{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:9px;background:rgba(2,6,23,.72);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;pointer-events:auto;transition:background .15s}
.k-nf-dzrow .jet-form-builder-file-upload__file-remove:hover{background:var(--red)}
.k-nf-dzrow .jet-form-builder-file-upload__file-remove svg{width:14px;height:14px}
.k-nf-dzrow .jet-form-builder-file-upload__file-remove svg path{fill:#fff}

/* --- Lightbox --- */
.k-nf-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(2,6,23,.86);display:flex;align-items:center;justify-content:center;padding:32px;cursor:zoom-out;opacity:0;transition:opacity .18s}
.k-nf-lightbox.is-open{opacity:1}
.k-nf-lightbox img{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.k-nf-lightbox-close{position:absolute;top:20px;right:24px;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.14);color:#fff;border:none;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.k-nf-lightbox-close:hover{background:rgba(255,255,255,.26)}

/* Notas por temporalidad */
.k-nf-tf .k-nf-notesrow .jet-form-builder__label{display:none!important}
.k-nf-tf textarea.jet-form-builder__field{min-height:92px!important}

/* ---------- Barra lateral: resumen ---------- */
.k-nf-sum{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:var(--shadow);width:100%!important}
.k-nf-sum-t{font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--text);margin:0 0 18px;line-height:1.25}
.k-nf-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--border-2)}
.k-nf-row:last-of-type{border-bottom:none}
.k-nf-row-l{font-size:13.5px;font-weight:500;color:var(--text-2)}
.k-nf-row-v{font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--text);white-space:nowrap}
.k-nf-row-v.is-rr{color:var(--primary)}
.k-nf-row-v.is-win{color:var(--green)}
.k-nf-row-v.is-loss{color:var(--red)}
.k-nf-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:700;line-height:1;background:var(--surface-3);color:var(--text-2)}
.k-nf-badge.is-buy{background:var(--green-soft);color:var(--green)}
.k-nf-badge.is-sell{background:var(--red-soft);color:var(--red)}
.k-nf-note{margin-top:16px;background:var(--surface-2);border-radius:12px;padding:13px 15px;font-size:12.5px;font-weight:500;color:var(--text-3);line-height:1.55}
.k-nf-note b{color:var(--text-2);font-weight:800}

/* ---------- Resumen: objetivos por TP (detalle calculadora) ---------- */
.k-nf-tps-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 11px;font-size:14px;font-weight:800;letter-spacing:-.01em;color:var(--text);line-height:1.25}
.k-nf-tps-head span{font-size:11px;font-weight:600;color:var(--text-3);letter-spacing:.01em;white-space:nowrap}
.k-nf-tps{display:flex;flex-direction:column;gap:8px;margin:0 0 8px}
.k-nf-tp-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px 13px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border-2);transition:border-color .15s,background .15s}
.k-nf-tp-tag{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:5px 9px;border-radius:8px;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:800;line-height:1}
.k-nf-tp-rr{font-size:15.5px;font-weight:800;color:var(--primary);letter-spacing:-.01em}
.k-nf-tp-gain{font-size:15.5px;font-weight:800;color:var(--green);white-space:nowrap;text-align:right}
.k-nf-tp-row.is-hit{border-color:var(--green);background:var(--green-soft)}
.k-nf-tp-empty{padding:15px 13px;border-radius:12px;background:var(--surface-2);border:1px dashed var(--border);font-size:12.5px;font-weight:500;color:var(--text-3);text-align:center;line-height:1.5}

/* ---------- Barra lateral: acciones ---------- */
.k-nf-actions{padding:0!important;width:100%!important;display:flex!important;flex-direction:column!important;gap:10px!important}
.k-nf-actions .jet-form-builder__action-button,.k-nf-save{width:100%;height:52px;background:var(--primary)!important;color:#fff!important;border:none;border-radius:14px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;box-shadow:0 12px 26px -12px rgba(37,99,235,.8);transition:all .18s;display:flex;align-items:center;justify-content:center;gap:9px;line-height:1}
.k-nf-actions .jet-form-builder__action-button:hover,.k-nf-save:hover{background:var(--primary-2)!important;transform:translateY(-1px)}
.k-nf-cancel{width:100%;height:48px;background:var(--surface);color:var(--text-2);border:1px solid var(--border);border-radius:14px;font-size:14.5px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;text-decoration:none}
.k-nf-cancel:hover{background:var(--surface-3);color:var(--text)}
.k-nf-form .jet-form-builder-file-upload{position:relative}
.k-nf-form .k-nf-exist{position:absolute;inset:0;z-index:2;background-size:contain;background-repeat:no-repeat;background-position:center;background-color:var(--surface-2);border-radius:14px;pointer-events:none}
.k-nf-form .k-nf-exist-badge{position:absolute;top:8px;left:8px;background:var(--primary);color:#fff;font-size:10px;font-weight:700;letter-spacing:.03em;padding:3px 9px;border-radius:999px}
.k-nf-form .jet-form-builder-file-upload.is-uploading::after{content:'Subiendo...';position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:rgba(248,250,252,.82);font-weight:700;color:var(--text-2);border-radius:14px}
.k-nf-actions .jet-form-builder-row{margin:0!important}

/* ---------- Mensajes ---------- */
.k-nf-form .jet-form-builder-message--success{background:var(--green-soft);color:var(--green);border:1px solid var(--green);border-radius:13px;padding:14px 16px;font-weight:700;font-size:13.5px;margin-bottom:16px}
.k-nf-form .jet-form-builder-message--error{background:var(--red-soft);color:var(--red);border:1px solid var(--red);border-radius:13px;padding:14px 16px;font-weight:700;font-size:13.5px;margin-bottom:16px}

@media(max-width:820px){
  .k-nf-body{grid-template-columns:repeat(6,1fr)}
  .k-f-fecha,.k-f-hora,.k-f-simbolo,.k-f-sesion,.k-f-riesgo_pct{grid-column:span 3}
  .k-f-direccion,.k-nf-auto{grid-column:span 6}
  .k-f-entrada,.k-f-stop_loss{grid-column:span 3}
  .k-f-tp1,.k-f-tp2,.k-f-tp3{grid-column:span 2}
  .k-f-resultado,.k-f-emocion,.k-f-setup,.k-f-timeframe,.k-f-direccionalidad,.k-f-session_bt_id,.k-f-tesis,.k-f-aprendizaje{grid-column:span 6}
  .kairo-nf .k-title,.kairo-nf .k-title .elementor-heading-title{font-size:27px!important}
  .k-nf-card{padding:20px}
  .k-nf-body .jet-form-builder__field-label{padding:10px 16px;font-size:13px}
  .k-nf-tf .jet-form-builder-file-upload{min-height:0}
}


/* ---------- Selects nativos: color correcto del desplegable ---------- */
.k-nf-body select.jet-form-builder__field{color-scheme:light}
[data-theme="dark"] .k-nf-body select.jet-form-builder__field{color-scheme:dark}
.k-nf-body select.jet-form-builder__field option{background:var(--surface-2);color:var(--text)}
.k-nf-body select.jet-form-builder__field optgroup{background:var(--surface-2);color:var(--text-3);font-weight:800}
.k-nf-body select.jet-form-builder__field optgroup option{color:var(--text);font-weight:500}


/* ---------- Confluencias SMC ---------- */
.k-f-confluencias .jet-form-builder__field-wrap{display:none!important}
.k-cf{margin-top:2px}
.k-cf-align:empty{display:none}
.k-cf-align.is-ok{background:var(--green-soft);color:var(--green)}
.k-cf-align.is-warn{background:var(--amber-soft);color:var(--amber)}
.k-cf-p{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0}
.k-cf-pill{font-size:12.5px;font-weight:600;padding:6px 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);cursor:pointer;font-family:inherit;line-height:1.2;transition:background .14s,border-color .14s,color .14s}
.k-cf-pill:hover{border-color:var(--text-3);color:var(--text)}
.k-cf-pill.is-on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}
.k-cf-pill.is-neg.is-on{background:var(--surface-3);border-color:var(--text-3);color:var(--text-2)}

/* Confluencias: ocupar todo el ancho de la tarjeta */
.k-cf{grid-column:1/-1!important;width:100%!important;min-width:0}
.k-nf-body .jet-form-builder__fields-group:has(.k-cf){display:block!important}
.k-cf-p{flex:1 1 auto!important}

/* Indicadores: pills */
.k-ind{margin-top:2px}
.k-f-indicadores .jet-form-builder__fields-group{display:block!important}

/* Mismo problema en los botones Compra/Venta y en las pildoras */

.k-nf-body .k-cf-pill,
.k-nf-body .k-cf-pill:focus,
.k-nf-body .k-cf-pill:active{background:var(--surface-2)!important;background-color:var(--surface-2)!important;color:var(--text-2)!important;box-shadow:none!important;outline:none!important}
.k-nf-body .k-cf-pill:hover{border-color:var(--text-3)!important;color:var(--text)!important}
.k-nf-body .k-cf-pill.is-on,
.k-nf-body .k-cf-pill.is-on:hover{background:var(--primary-soft)!important;background-color:var(--primary-soft)!important;border-color:var(--primary)!important;color:var(--primary)!important}
.k-nf-body .k-cf-pill.is-neg.is-on,
.k-nf-body .k-cf-pill.is-neg.is-on:hover{background:var(--surface-3)!important;background-color:var(--surface-3)!important;border-color:var(--text-3)!important;color:var(--text-2)!important}

/* ================= Nueva operacion: proyecto ================= */
/* ---------- Migas y cuenta activa ---------- */
.k-nf-crumb{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--border-2)}
.k-nf-crumb-l{display:flex;align-items:center;gap:9px}
.k-nf-crumb-l a{font-size:12.5px;font-weight:500;color:var(--text-4);text-decoration:none}
.k-nf-crumb-l a:hover{color:var(--text-2)}
.k-nf-crumb-l i{font-style:normal;font-family:var(--font-mono);font-size:11px;color:var(--text-off)}
.k-nf-crumb-l span{font-size:12.5px;font-weight:600;color:var(--text)}
.k-nf-crumb-a{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:400;color:var(--text-4)}
.k-nf-crumb-a i{width:5px;height:5px;border-radius:50%;background:var(--green);flex:none}

/* ---------- Secciones plegables ---------- */
.k-nf-card.is-fold{padding:0!important;overflow:hidden}
.k-nf-card button.k-nf-cardhead.is-btn{display:flex;align-items:center;justify-content:space-between;gap:14px;
width:100%;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:20px;
padding:18px 22px;cursor:pointer;text-align:left;transition:background .13s;margin:0}
.k-nf-card button.k-nf-cardhead.is-btn:hover{background:var(--surface-2)!important}
.k-nf-cardmeta{display:flex;flex-direction:column;gap:2px;min-width:0}
.k-nf-cardsub{font-size:11.5px;font-weight:400;color:var(--text-4);line-height:1.4}
.k-nf-cardright{display:flex;align-items:center;gap:12px;flex:none}
.k-nf-caret{width:0;height:0;border-left:4.5px solid transparent;border-right:4.5px solid transparent;
border-top:5px solid var(--text-4);transition:transform .18s}
.k-nf-card.is-open .k-nf-caret{transform:rotate(180deg)}
.k-nf-card.is-fold .k-nf-body{padding:0 22px 20px;animation:kNfIn 150ms ease-out both}
@keyframes kNfIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.k-nf-card.is-fold .k-nf-body{animation:none}}
.k-nf-scorebox{display:flex;align-items:center;gap:8px}
.k-nf-scoreval{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--text)}
.k-nf-scorebar{width:56px;height:5px;border-radius:3px;background:var(--surface-3);overflow:hidden;display:block}
.k-nf-scorebar i{display:block;height:5px;border-radius:3px;background:var(--primary);transition:width .25s}

/* ---------- Checklist del panel ---------- */
.k-nf-sum-ctx{float:right;font-family:var(--font-mono);font-size:11.5px;font-weight:400;color:var(--text-4);letter-spacing:0}
.k-nf-chk{margin-top:16px;padding-top:14px;border-top:1px solid var(--border-2);display:flex;flex-direction:column;gap:9px}
.k-nf-chk-t{font-size:9.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--text-4)}
.k-nf-chk-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.k-nf-chk-l li{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:400;color:var(--text-4)}
.k-nf-chk-l li.is-ok{color:var(--text-2)}
.k-nf-chk-l li i{font-style:normal;color:var(--text-off)}
.k-nf-chk-d{width:7px;height:7px;flex:none;border-radius:50%;background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--border)}
.k-nf-chk-l li.is-ok .k-nf-chk-d{background:var(--green);box-shadow:none}
.k-nf-chk-l li.is-opt .k-nf-chk-d{box-shadow:inset 0 0 0 1px var(--border-hover)}

/* ---------- Botones secundarios ---------- */
.k-nf-actions button.k-nf-save2{width:100%;margin-top:8px;border:1px solid var(--border)!important;border-radius:12px;
padding:13px 18px;cursor:pointer;background:var(--surface-2)!important;color:var(--text-2)!important;box-shadow:none!important;
font-family:var(--font-ui);font-size:13px;font-weight:600;transition:background .13s,color .13s}
.k-nf-actions button.k-nf-save2:hover{background:var(--surface-3)!important;color:var(--text)!important}

/* ---------- Lado izquierdo: medidas del proyecto ---------- */
.k-nf-card{border-radius:16px!important;padding:20px 22px!important;gap:18px;display:flex;flex-direction:column}
.k-nf-cardhead{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:0!important;padding:0}
.k-nf-cardhead .k-nf-num{font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--primary-link);
background:rgba(var(--primary-rgb),.14);border-radius:6px;padding:3px 7px;flex:none}
.k-nf-cardtitle{font-size:14px;font-weight:600;color:var(--text);letter-spacing:0}
.k-nf-card:not(.is-fold) .k-nf-cardmeta{display:contents}
.k-nf-card:not(.is-fold) .k-nf-cardhead{justify-content:flex-start;gap:10px}
.k-nf-card:not(.is-fold) .k-nf-cardsub{margin-left:auto;white-space:nowrap}
/* OJO: .k-nf-body es una rejilla de 12 columnas definida arriba y cada campo
   lleva su grid-column. No convertirla en flex: apila todo. Los bloques que
   inserta el JS ocupan la fila entera. */
.k-nf-body>.k-nf-sep,.k-nf-body>.k-nf-group,.k-nf-body>.k-nf-riskrow{grid-column:span 12}

/* Etiquetas y campos */
.k-nf-card .jet-form-builder__label,.k-nf-card label>span:first-child{font-size:11px!important;font-weight:500!important;color:var(--text-3)!important}
.k-nf-card input[type="text"],.k-nf-card input[type="number"],.k-nf-card input[type="date"],
.k-nf-card input[type="time"],.k-nf-card input[type="datetime-local"],.k-nf-card select{
background:var(--field)!important;border:1px solid var(--border)!important;border-radius:9px!important;
padding:10px 14px 10px 11px!important;font-family:var(--font-mono)!important;font-size:13px!important;font-weight:500!important;color:var(--text)!important}
.k-nf-card select{font-family:var(--font-ui)!important;font-size:12.5px!important}
.k-nf-card .k-f-simbolo select{font-family:var(--font-mono)!important;font-size:13px!important;font-weight:600!important}

/* Grupo de precios */
.k-nf-sep{height:1px;background:var(--border-2);margin:0}
.k-nf-grouphead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.k-nf-grouphead{font-size:12px;font-weight:600;color:var(--text-2)}
.k-nf-hint{font-size:11px;font-weight:400;color:var(--text-4)}
.k-nf-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:12px}
/* Dentro del grupo de precios manda esta rejilla, no el span de 12 columnas. */
.k-nf-prices>.jet-form-builder-row{grid-column:auto!important}
.k-nf-prices .k-nf-help{font-family:var(--font-mono);font-size:10.5px;font-weight:400;color:var(--text-4);margin-top:6px;display:block}
.k-nf-prices .k-f-stop_loss .jet-form-builder__label,.k-nf-prices .k-f-stop_loss label>span:first-child{color:var(--red)!important}
.k-nf-prices .k-f-tp1 .jet-form-builder__label,.k-nf-prices .k-f-tp1 label>span:first-child{color:var(--green)!important}
.k-nf-prices .k-f-tp1 .k-nf-help{color:var(--green)}

/* Fila de riesgo */
.k-nf-riskrow{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.k-nf-step{display:flex;align-items:center;gap:2px;background:var(--surface-3);border:1px solid var(--border);border-radius:9px;padding:2px}
.k-nf-step button{width:36px;height:36px;border:0!important;background:transparent!important;border-radius:7px;
color:var(--text-3)!important;font-family:var(--font-mono);font-size:15px;cursor:pointer;box-shadow:none!important;transition:background .12s}
.k-nf-step button:hover{background:var(--surface-2)!important;color:var(--text)!important}
.k-nf-step-v{min-width:62px;text-align:center;font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--text)}
.k-nf-auto-box{background:rgba(var(--primary-rgb),.10);border-radius:9px;padding:10px 16px;
font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--primary-link)}
.k-nf-auto-lbl i{font-style:normal;font-size:9.5px;font-weight:400;letter-spacing:.05em;text-transform:uppercase;color:var(--primary-link);margin-left:6px}
.k-nf-ref{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--surface-3);border-radius:9px;padding:10px 14px;
font-family:var(--font-mono);font-size:11.5px;font-weight:400;color:var(--text-4)}
.k-nf-ref i{font-style:normal;color:var(--text-off)}

/* Reparto del proyecto: identificacion en una fila de cuatro */
.k-nf-body .k-f-fecha,.k-nf-body .k-f-hora{grid-column:span 3}
.k-nf-body .k-f-simbolo{grid-column:span 3}
.k-nf-body .k-f-sesion{grid-column:span 3}
.k-nf-body .k-f-direccion{grid-column:span 6}
.k-nf-body .k-f-riesgo_pct,.k-nf-body .k-nf-auto,.k-nf-body .k-nf-refcell{grid-column:auto}
/* Etiquetas mas discretas, como el proyecto */
.k-nf-body .jet-form-builder__label,.k-nf-body>div>label{font-size:11px!important;font-weight:500!important;color:var(--text-3)!important;margin:0 0 7px!important}
.k-nf-body .jet-form-builder__field{height:42px!important;padding:0 11px!important;border-radius:9px!important;font-size:13px!important}
.k-nf-body select.jet-form-builder__field{padding-right:34px!important}
.k-nf-body textarea.jet-form-builder__field{height:auto!important;min-height:96px!important;padding:11px 12px!important}

/* ---------- Etiquetas: el texto vive en label-text ---------- */
.k-nf-body .jet-form-builder__label-text{font-size:11px!important;font-weight:500!important;color:var(--text-3)!important;line-height:1.3}
.k-nf-body .jet-form-builder__label{margin:0 0 7px!important}
.k-nf-body .jet-form-builder__required{display:none}

/* ---------- Apertura agrupada: fecha y hora en una celda ---------- */
.k-nf-body .k-nf-aper{grid-column:span 3;display:flex;flex-direction:column;gap:7px;min-width:0}
.k-nf-aper-l{font-size:11px;font-weight:500;color:var(--text-3);line-height:1.3}
.k-nf-aper-g{display:grid;grid-template-columns:1.35fr 1fr;gap:6px;min-width:0}
.k-nf-aper-g>.jet-form-builder-row{grid-column:auto!important;min-width:0}
.k-nf-aper-g .jet-form-builder__label{display:none!important}
.k-nf-body .k-f-simbolo,.k-nf-body .k-f-direccion,.k-nf-body .k-f-sesion{grid-column:span 3}

/* ---------- Pastillas de resultado y emocion ---------- */
.k-nf-body .k-f-resultado,.k-nf-body .k-f-emocion{grid-column:span 12}
.k-nf-res{display:flex;gap:2px;background:var(--field);border:1px solid var(--border);border-radius:10px;padding:3px;flex-wrap:wrap}
.k-nf-res button{flex:1 1 auto;min-width:96px;border:0!important;background:transparent!important;border-radius:8px;
padding:11px 12px;cursor:pointer;box-shadow:none!important;color:var(--text-3)!important;
font-family:var(--font-ui);font-size:13px;font-weight:500;transition:background .12s,color .12s}
.k-nf-res button:hover{color:var(--text)!important}
.k-nf-res button.is-on{background:var(--surface)!important;color:var(--text)!important;font-weight:600;box-shadow:var(--shadow-sm)!important}
.k-nf-emo{display:flex;gap:8px;flex-wrap:wrap}
.k-nf-emo button{border:1px solid var(--border)!important;background:var(--field)!important;border-radius:9px;
padding:9px 14px;cursor:pointer;box-shadow:none!important;color:var(--text-2)!important;
font-family:var(--font-ui);font-size:12.5px;font-weight:500;transition:all .12s}
.k-nf-emo button:hover{border-color:var(--border-hover)!important;color:var(--text)!important}
.k-nf-emo button.is-on{background:rgba(var(--primary-rgb),.14)!important;border-color:rgba(var(--primary-rgb),.34)!important;
color:var(--primary-link)!important;font-weight:600}
.k-nf-body .k-f-fecha_cierre,.k-nf-body .k-f-hora_cierre{grid-column:span 3}

/* ================= Medidas literales del proyecto ================= */
/* Los campos se dimensionan por padding, no por altura fija: 10px arriba y
   abajo, 11px a la izquierda, como en el diseno. */
.k-nf-body .jet-form-builder__field{height:auto!important;min-height:0!important;
padding:10px 11px!important;line-height:1.35!important;border-radius:9px!important;
font-family:var(--font-mono)!important;font-size:13px!important;font-weight:500!important}
.k-nf-body select.jet-form-builder__field{font-family:var(--font-ui)!important;font-size:12.5px!important;padding-right:34px!important;background-position:right 13px center!important}
.k-nf-body .k-f-simbolo select.jet-form-builder__field{font-family:var(--font-mono)!important;font-size:13px!important;font-weight:600!important}
.k-nf-body textarea.jet-form-builder__field{min-height:96px!important;padding:11px 12px!important;
font-family:var(--font-ui)!important;font-size:12.5px!important;font-weight:400!important;line-height:1.5!important}

/* Colores de etiqueta y de ayuda, tomados uno a uno del proyecto. */
.k-nf-body .k-f-entrada .jet-form-builder__label-text{color:var(--text-2)!important}
.k-nf-body .k-f-stop_loss .jet-form-builder__label-text{color:#F0555C!important}
.k-nf-body .k-f-tp1 .jet-form-builder__label-text{color:#8ED9AF!important}
.k-nf-body .k-f-tp2 .jet-form-builder__label-text,
.k-nf-body .k-f-tp3 .jet-form-builder__label-text{color:var(--text-3)!important}
/* La ayuda del stop va en gris: el rojo esta en la etiqueta, no debajo. */
.k-nf-prices .k-nf-help{color:var(--text-4)!important}
.k-nf-prices .k-f-tp1 .k-nf-help{color:var(--green)!important}

/* Fila inferior: paso a paso, riesgo en dinero y referencia. */
.k-nf-body .k-nf-riskrow{align-items:flex-end;gap:14px}
.k-nf-body .k-f-riesgo_pct .jet-form-builder__field{display:none!important}
.k-nf-step{height:40px;box-sizing:border-box}
.k-nf-step button{width:36px;height:36px;line-height:1;padding:0!important}
.k-nf-auto,.k-nf-refcell{display:flex;flex-direction:column;gap:7px;min-width:0}
.k-nf-refcell{flex:1;min-width:180px}
.k-nf-auto-lbl{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--text-3);line-height:1.3}
.k-nf-auto-box{height:40px;box-sizing:border-box;display:flex;align-items:center;
padding:0 16px!important;line-height:1;font-size:14px!important}
.k-nf-ref{height:40px;box-sizing:border-box;display:flex;align-items:center;
padding:0 14px!important;line-height:1;font-size:11.5px!important}

/* ---------- Altura uniforme de 40px en toda la fila ---------- */
/* Los date/time nativos no se dimensionan igual que un input de texto, asi
   que se fija la altura en vez de dejarla al padding. */
.k-nf-body .jet-form-builder__field{height:40px!important;min-height:40px!important;
box-sizing:border-box!important;padding:0 11px!important;line-height:38px!important}
.k-nf-body select.jet-form-builder__field{line-height:38px!important;padding-right:34px!important}
.k-nf-body textarea.jet-form-builder__field{height:auto!important;min-height:96px!important;
padding:11px 12px!important;line-height:1.5!important}
.k-nf-aper-g .jet-form-builder__field{padding:0 8px 0 11px!important}

/* ---------- Direccion como control segmentado ---------- */
/* En el proyecto es UNA caja con dos segmentos dentro, no dos botones. */
.k-nf-body .k-nf-dir{display:flex!important;gap:2px!important;grid-template-columns:none!important;
background:var(--surface-3);border:1px solid var(--border);border-radius:9px;padding:2px;
height:40px;box-sizing:border-box}
.k-nf-body .k-nf-dir button{flex:1 1 0;height:34px!important;min-height:0!important;padding:0!important;
border:0!important;border-radius:7px!important;background:transparent!important;box-shadow:none!important;
display:flex;align-items:center;justify-content:center;gap:6px;
font-family:var(--font-ui)!important;font-size:13px!important;font-weight:600!important;color:var(--text-3)!important;
transition:background .12s,color .12s}
.k-nf-body .k-nf-dir button:hover{background:var(--surface-2)!important;color:var(--text)!important;border-color:transparent!important}
.k-nf-body .k-nf-dir button.is-on[data-d="Compra"],
.k-nf-body .k-nf-dir button.is-on[data-d="Compra"]:hover{background:rgba(var(--green-rgb),.14)!important;
color:var(--green)!important;border-color:transparent!important}
.k-nf-body .k-nf-dir button.is-on[data-d="Venta"],
.k-nf-body .k-nf-dir button.is-on[data-d="Venta"]:hover{background:rgba(var(--red-rgb),.14)!important;
color:var(--red)!important;border-color:transparent!important}

/* ================= Fondos y Apertura unificada ================= */
/* El proyecto usa un fondo de campo MAS OSCURO que la tarjeta:
   tarjeta #0E1117, campo #0A0D12. Ese segundo valor vive en --field. */
.k-nf-body .jet-form-builder__field,
.k-nf-body .k-nf-dir,
.k-nf-body .k-nf-step,
.k-nf-body .k-nf-ref,
.k-nf-body .k-nf-aper-g{background:var(--field)!important}
.k-nf-body .jet-form-builder__field:focus{background:var(--field)!important}

/* Apertura: fecha y hora comparten UNA caja, con un divisor entre ambas. */
.k-nf-body .k-nf-aper-g{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:0;
border:1px solid var(--border);border-radius:9px;height:40px;box-sizing:border-box;overflow:hidden}
.k-nf-body .k-nf-aper-g>.jet-form-builder-row{grid-column:auto!important;min-width:0;display:flex;align-items:center}
.k-nf-body .k-nf-aper-g .jet-form-builder__field{height:38px!important;min-height:0!important;
border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
width:100%;padding:0 6px 0 11px!important;line-height:38px!important}
.k-nf-body .k-nf-aper-g .jet-form-builder__field:focus{box-shadow:none!important;background:transparent!important}
.k-nf-aper-x{position:absolute;left:calc(56.5% - .5px);top:8px;bottom:8px;width:1px;background:var(--border);pointer-events:none}
.k-nf-body .k-nf-aper-g:focus-within{border-color:var(--primary)}

/* Separadores al valor del proyecto */
.k-nf-sep{background:rgba(255,255,255,.05)}
:root:not([data-theme="dark"]) .k-nf-sep{background:rgba(21,26,38,.07)}

/* ---------- Flechas del campo numerico ---------- */
/* En los precios se escribe el valor, no se sube de uno en uno: las flechas
   solo roban ancho. El campo sigue siendo type=number para el teclado movil. */
.k-nf-prices input[type="number"]{-moz-appearance:textfield;appearance:textfield}
.k-nf-prices input[type="number"]::-webkit-outer-spin-button,
.k-nf-prices input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}

/* ---------- Bloque de cierre (solo con la operacion cerrada) ---------- */
.k-nf-body .k-nf-close{grid-column:span 12;display:grid;
grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:12px;
animation:kNfIn 140ms ease-out both}
.k-nf-body .k-nf-close[hidden]{display:none!important}
.k-nf-body .k-nf-close .k-nf-auto-box{color:var(--text)!important;background:var(--field)!important}
.k-nf-body .k-nf-close .k-nf-auto-box.is-pos{color:var(--green)!important}
.k-nf-body .k-nf-close .k-nf-auto-box.is-neg{color:var(--red)!important}
.k-nf-body .k-nf-close .k-f-fecha_cierre,.k-nf-body .k-nf-close .k-f-hora_cierre{grid-column:auto!important}

/* ================= Confluencias en tarjetas (seccion 03) ================= */
.k-nf-body .k-cf{display:flex;flex-direction:column;gap:14px}
.k-cf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:14px;align-items:start}
.k-cf-card{background:var(--surface-2);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:12px;min-width:0}
.k-cf-gh{font-size:9.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--text-4);
margin:0;padding:0;border:0;background:none}
.k-cf-row{display:flex;flex-direction:column;gap:6px;padding:0;border:0;min-width:0}
.k-cf-l{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:400;color:var(--text-3);width:auto;flex:none}
.k-cf-l i{font-style:normal;font-size:10px;font-weight:400;color:var(--text-4)}
.k-cf-p{display:flex;gap:6px;flex-wrap:wrap}
.k-nf-body button.k-cf-pill{border:1px solid var(--border)!important;background:var(--field)!important;
border-radius:8px!important;padding:7px 12px!important;height:auto!important;cursor:pointer;box-shadow:none!important;
font-family:var(--font-ui)!important;font-size:12px!important;font-weight:500!important;color:var(--text-2)!important;
white-space:nowrap;transition:all .12s}
.k-nf-body button.k-cf-pill:hover{border-color:var(--border-hover)!important;color:var(--text)!important}
.k-nf-body button.k-cf-pill.is-on{background:rgba(var(--primary-rgb),.14)!important;
border-color:rgba(var(--primary-rgb),.34)!important;color:var(--primary-link)!important;font-weight:600!important}
.k-nf-body button.k-cf-pill.is-neg.is-on{background:rgba(var(--neutral-rgb),.20)!important;
border-color:var(--border-hover)!important;color:var(--text-3)!important}

/* Aviso del score, al pie del bloque */
.k-cf-note{display:flex;align-items:center;gap:12px;border-radius:10px;padding:11px 14px;
background:rgba(var(--primary-rgb),.07)}
.k-cf-note i{width:6px;height:6px;flex:none;border-radius:50%;background:var(--primary);font-style:normal}
.k-cf-note span{font-size:12px;font-weight:400;line-height:1.45;color:var(--primary-link)}
.k-cf-note b{font-family:var(--font-mono);font-weight:600}

/* ---------- Rejilla fija de dos columnas, tarjetas de igual altura ---------- */
.k-nf-body .k-cf-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
gap:14px!important;align-items:stretch!important}
@media(max-width:900px){.k-nf-body .k-cf-grid{grid-template-columns:1fr!important}}
.k-nf-body .k-cf-card{height:100%;box-sizing:border-box}
/* La etiqueta SIEMPRE encima de sus pastillas, sin lineas separadoras. */
.k-nf-body .k-cf-card .k-cf-row{display:flex!important;flex-direction:column!important;
align-items:stretch!important;gap:6px!important;padding:0!important;border:0!important;
border-bottom:0!important;margin:0!important}
.k-nf-body .k-cf-card .k-cf-l{flex:none!important;width:auto!important;margin:0!important;
justify-content:flex-start!important}
.k-nf-body .k-cf-card .k-cf-p{margin:0!important;justify-content:flex-start!important}
/* Todas las pastillas con la misma altura, sin importar el largo del texto. */
.k-nf-body button.k-cf-pill{height:32px!important;display:inline-flex;align-items:center;
padding:0 12px!important;line-height:1!important}

/* ---------- Indicadores como tarjeta del mismo conjunto ---------- */
.k-nf-body .k-f-indicadores{grid-column:span 12!important;
padding:0;box-sizing:border-box}
.k-nf-body .k-f-indicadores .jet-form-builder__label{margin:0 0 6px!important}
.k-nf-body .k-f-indicadores .jet-form-builder__label-text{font-size:11.5px!important;font-weight:400!important;color:var(--text-3)!important}
.k-nf-body .k-ind{display:flex;gap:6px;flex-wrap:wrap;margin:0}
/* Los tres selectores de arriba, a un tercio cada uno como el proyecto */
.k-nf-body .k-f-setup,.k-nf-body .k-f-timeframe,.k-nf-body .k-f-direccionalidad{grid-column:span 4}
.k-nf-body .k-f-confluencias{grid-column:span 12}

/* ---------- Descripcion del setup elegido ---------- */
/* Aparece bajo el campo solo cuando hay setup: en vacio no ocupa sitio y no
   desalinea la fila de tres selectores. */
.k-nf-setupdesc{display:none;margin-top:7px;font-size:11px;font-weight:400;line-height:1.45;
color:var(--text-4);text-wrap:pretty}
.k-nf-setupdesc.is-on{display:block}
.k-nf-body .k-f-setup{align-self:start}

/* ---------- Filas de Si/No: etiqueta a la izquierda, con separadores ---------- */
/* Solo aplican a las filas de dos opciones. Las de muchas opciones siguen
   apilando la etiqueta encima, como el resto del proyecto. */
.k-nf-body .k-cf-card .k-cf-row.is-yn{flex-direction:row!important;align-items:center!important;
justify-content:space-between!important;gap:10px!important}
.k-nf-body .k-cf-card .k-cf-row.is-yn .k-cf-p{flex:0 0 auto!important;flex-wrap:nowrap!important;margin-left:auto!important;justify-content:flex-end!important}
.k-nf-body .k-cf-card .k-cf-row.is-yn .k-cf-l{flex:1 1 auto!important;min-width:0}
.k-nf-body .k-cf-card .k-cf-row.is-yn+.k-cf-row.is-yn{border-top:1px solid rgba(255,255,255,.05)!important;padding-top:10px!important}
:root:not([data-theme="dark"]) .k-nf-body .k-cf-card .k-cf-row.is-yn+.k-cf-row.is-yn{border-top-color:rgba(21,26,38,.07)!important}
/* El Si/No no necesita ancho: solo el de su texto, alineado a la derecha. */
.k-nf-body .k-cf-card .k-cf-row.is-yn button.k-cf-pill{min-width:52px;justify-content:center}

/* ---------- Cabecera plegable alineada ---------- */
/* Con space-between y tres hijos -numero, meta y score- el titulo quedaba
   centrado. El numero y el titulo van juntos a la izquierda; el score, al
   margen derecho. */
.k-nf-card.is-fold .k-nf-cardhead.is-btn{justify-content:flex-start!important;gap:10px!important}
/* El empuje se hace con margin, no con justify-content: hay tres reglas
   compitiendo por esa propiedad y asi el resultado no depende de cual gane. */
.k-nf-card.is-fold .k-nf-cardmeta{align-items:flex-start;text-align:left;min-width:0;
margin-right:auto!important;flex:0 1 auto!important}
.k-nf-card.is-fold .k-nf-cardhead .k-nf-num{flex:0 0 auto!important;margin-right:0!important}
.k-nf-card.is-fold .k-nf-cardright{margin-left:auto!important}
/* El anillo de foco solo con teclado, no al hacer clic. */
.k-nf-card.is-fold .k-nf-cardhead.is-btn:focus{outline:none!important;box-shadow:none!important}
.k-nf-card.is-fold .k-nf-cardhead.is-btn:focus-visible{outline:2px solid rgba(var(--primary-rgb),.55)!important;outline-offset:-2px}
/* El contenido desplegado vive dentro de la misma tarjeta. */
.k-nf-card.is-fold{background:var(--surface)!important;border:1px solid var(--border)!important;overflow:hidden}
.k-nf-card.is-fold .k-nf-body{background:transparent}

/* ================= Journal y capturas: medidas del proyecto ================= */
/* Cuatro temporalidades en rejilla, cada zona con proporcion 16:10 en vez de
   una altura fija: asi acompanan al ancho y no crecen hacia abajo. */
.k-nf-body .k-nf-tfgrid{grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr))!important;gap:16px!important}
.k-nf-body .k-nf-tf{gap:7px!important}
.k-nf-body .k-nf-tf .jet-form-builder-file-upload{min-height:0!important;aspect-ratio:16/10;
border-width:1px!important;border-style:dashed!important;border-color:var(--border-hover)!important;
background:var(--field)!important;border-radius:10px!important}
.k-nf-body .k-nf-tf .jet-form-builder-file-upload:hover,
.k-nf-body .k-nf-tf .jet-form-builder-file-upload:focus-within{border-color:var(--primary)!important;
background:rgba(var(--primary-rgb),.06)!important}

/* Rotulo dentro de la zona: mas discreto que el original */
.k-nf-body .k-nf-tf .k-nf-dz{gap:8px}
.k-nf-body .k-nf-tf .k-nf-dz-title{font-size:13px!important;font-weight:600!important}
.k-nf-body .k-nf-tf .k-nf-dz-txt{font-size:11.5px!important;font-weight:400!important;max-width:220px}
.k-nf-body .k-nf-tf .k-nf-dz-badge{display:none!important}
.k-nf-body .k-nf-tf .k-nf-dz-ico{width:20px!important;height:20px!important}

/* Nota bajo cada captura */
.k-nf-body .k-nf-notesrow .jet-form-builder__label{display:none!important}
.k-nf-body .k-nf-notesrow .jet-form-builder__field{height:auto!important;min-height:34px!important;
padding:0 10px!important;border-radius:8px!important;line-height:32px!important;
font-family:var(--font-ui)!important;font-size:11.5px!important;font-weight:400!important}

/* Capturas de ejecucion: rejilla propia, mas estrecha */
.k-nf-body .k-nf-exgrid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))!important;gap:10px!important}
.k-nf-body .k-nf-exgrid .jet-form-builder-file-upload{min-height:0!important;aspect-ratio:16/10;
border-width:1px!important;border-color:var(--border-hover)!important;background:var(--field)!important;border-radius:10px!important}

/* Tesis y aprendizaje: dos columnas, mas bajos */
.k-nf-body .k-f-tesis,.k-nf-body .k-f-aprendizaje{grid-column:span 6}
.k-nf-body .k-f-tesis textarea,.k-nf-body .k-f-aprendizaje textarea{min-height:96px!important}
.k-nf-grouphead{margin-bottom:10px}

/* ---------- Mapeo y ejecucion en dos columnas ---------- */
/* Fijas, no auto-fit: con auto-fit el ancho decide cuantas caben y salian 3
   con la cuarta suelta. Ejecucion usa la misma rejilla que el mapeo. */
.k-nf-body .k-nf-tfgrid,
.k-nf-body .k-nf-exgrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
gap:16px!important;align-items:start!important}
@media(max-width:820px){.k-nf-body .k-nf-tfgrid,.k-nf-body .k-nf-exgrid{grid-template-columns:1fr!important}}
.k-nf-body .k-nf-tfgrid>*,.k-nf-body .k-nf-exgrid>*{grid-column:auto!important;min-width:0}

/* Tope de altura: la proporcion manda, pero nunca por encima de esto. */
.k-nf-body .k-nf-tf .jet-form-builder-file-upload,
.k-nf-body .k-nf-exgrid .jet-form-builder-file-upload{aspect-ratio:16/10!important;
min-height:0!important;max-height:280px!important;height:auto!important}
.k-nf-body .k-nf-exgrid .jet-form-builder__label{display:none!important}

/* ---------- Notas de una linea bajo cada captura ---------- */
/* El campo es un textarea, pero el proyecto lo muestra como una linea:
   sin redimensionador y sin crecer. */
.k-nf-body .k-nf-notesrow textarea.jet-form-builder__field{height:auto!important;min-height:34px!important;
max-height:none!important;resize:none!important;overflow:hidden;padding:8px 10px!important;
line-height:1.4!important;font-family:var(--font-ui)!important;font-size:11.5px!important;font-weight:400!important}
.k-nf-body .k-nf-tf{gap:7px!important}

/* ---------- Alineacion del bloque de cierre ---------- */
/* "Cierre" es texto simple y las otras dos llevan la marca AUTO, que hace su
   linea mas alta. Alineando por la base, las cajas quedan a la misma altura
   sin depender de cuanto mida cada etiqueta. */
.k-nf-body .k-nf-close{align-items:end!important}
.k-nf-body .k-nf-close .k-nf-aper,
.k-nf-body .k-nf-close .k-nf-auto{gap:7px!important;justify-content:flex-end}
.k-nf-body .k-nf-close .k-nf-aper-l,
.k-nf-body .k-nf-close .k-nf-auto-lbl{min-height:16px;display:flex;align-items:center;line-height:1.3}
.k-nf-body .k-nf-close .k-nf-aper-g,
.k-nf-body .k-nf-close .k-nf-auto-box{height:40px!important;box-sizing:border-box}

/* ---------- Misma alineacion en la fila de riesgo ---------- */
.k-nf-body .k-nf-riskrow{align-items:end!important}
.k-nf-body .k-nf-riskrow .k-f-riesgo_pct .jet-form-builder__label,
.k-nf-body .k-nf-riskrow .k-nf-auto-lbl{min-height:16px;display:flex;align-items:center;line-height:1.3;margin:0 0 7px!important}
.k-nf-body .k-nf-riskrow .k-nf-step,
.k-nf-body .k-nf-riskrow .k-nf-auto-box,
.k-nf-body .k-nf-riskrow .k-nf-ref{height:40px!important;box-sizing:border-box}

/* ---------- El atributo hidden debe ganar sobre display:grid ---------- */
/* .k-nf-body declara display:grid, y eso anula el display:none que aporta el
   atributo hidden. Sin esto la seccion plegable nunca se cierra. */
.k-nf-body[hidden],.k-nf-card.is-fold .k-nf-body[hidden]{display:none!important}
.k-nf-close[hidden]{display:none!important}

/* ---------- El mono es para el simbolo, no para el marcador ---------- */
/* Con un simbolo elegido (NAS100, GBPUSD) el mono alinea los caracteres.
   Sin elegir, "Selecciona..." debe leerse igual que en Sesion. */
.k-nf-body .k-f-simbolo select.jet-form-builder__field:has(option[value=""]:checked){
font-family:var(--font-ui)!important;font-size:12.5px!important;font-weight:500!important;
color:var(--text-3)!important}
.k-nf-body .k-f-simbolo select.jet-form-builder__field.is-empty{
font-family:var(--font-ui)!important;font-size:12.5px!important;font-weight:500!important;
color:var(--text-3)!important}

/* ---------- Bloque de material adicional ---------- */
.k-nf-body .k-nf-xgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
@media(max-width:820px){.k-nf-body .k-nf-xgrid{grid-template-columns:1fr}}
.k-nf-body .k-nf-xgrid>*{grid-column:auto!important;min-width:0}
.k-nf-body .k-nf-xgrid .jet-form-builder-file-upload{aspect-ratio:16/10!important;min-height:0!important;
max-height:280px!important;height:auto!important;border:1px dashed var(--border-hover)!important;
background:var(--field)!important;border-radius:10px!important}
.k-nf-body .k-nf-xgrid .jet-form-builder-file-upload:hover{border-color:var(--primary)!important;
background:rgba(var(--primary-rgb),.06)!important}
.k-nf-body .k-nf-xgrid .k-f-extra_img .jet-form-builder__label{display:none!important}
.k-nf-body .k-nf-xgrid textarea.jet-form-builder__field{min-height:190px!important;height:auto!important;max-height:none!important}

/* ---------- Bloques extra bajo demanda ---------- */
.k-nf-body .k-nf-xwrap{grid-column:span 12;display:flex;flex-direction:column;gap:12px}
.k-nf-xb-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
@media(max-width:820px){.k-nf-xb-list{grid-template-columns:1fr}}
.k-nf-xb-list:empty{display:none}
.k-nf-xb{position:relative;display:flex;flex-direction:column;gap:8px;border-radius:12px;
padding:12px;background:var(--surface-2);border:1px solid var(--border);min-width:0}
.k-nf-xb-del{position:absolute;top:8px;right:8px;width:24px;height:24px;border:0!important;
border-radius:7px;background:var(--surface-3)!important;color:var(--text-3)!important;cursor:pointer;
font-size:15px;line-height:1;box-shadow:none!important;z-index:2;transition:background .12s,color .12s}
.k-nf-xb-del:hover{background:rgba(var(--red-rgb),.14)!important;color:var(--red)!important}
.k-nf-xb-slot{aspect-ratio:16/10;border-radius:10px;border:1px dashed var(--border-hover);
background:var(--field);background-size:cover;background-position:center;cursor:pointer;
display:flex;align-items:center;justify-content:center;transition:border-color .13s,background-color .13s}
.k-nf-xb-slot:hover{border-color:var(--primary);background-color:rgba(var(--primary-rgb),.06)}
.k-nf-xb-slot.has-img{border-style:solid;border-color:var(--border)}
.k-nf-xb-slot.has-img .k-nf-xb-ph{display:none}
.k-nf-xb-slot.is-up{opacity:.55;pointer-events:none}
.k-nf-xb-ph{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center}
.k-nf-xb-ph b{font-size:13px;font-weight:600;color:var(--text-2)}
.k-nf-xb-ph i{font-style:normal;font-size:11px;font-weight:400;color:var(--text-4)}
.k-nf-xb-cap,.k-nf-xb-ta{width:100%;box-sizing:border-box;background:var(--field)!important;
border:1px solid var(--border)!important;border-radius:9px!important;color:var(--text)!important;
font-family:var(--font-ui)!important;font-size:12px!important;font-weight:400!important;padding:9px 11px!important}
.k-nf-xb-cap{height:36px}
.k-nf-xb-ta{min-height:132px;resize:vertical;line-height:1.5}
.k-nf-xb-cap:focus,.k-nf-xb-ta:focus{border-color:var(--primary)!important;outline:none}

.k-nf-xb-add{display:flex;gap:8px;flex-wrap:wrap}
.k-nf-xb-add button{border:1px dashed var(--border-hover)!important;background:transparent!important;
border-radius:9px;padding:10px 16px;cursor:pointer;color:var(--text-3)!important;box-shadow:none!important;
font-family:var(--font-ui);font-size:12.5px;font-weight:600;transition:all .13s}
.k-nf-xb-add button:hover{border-color:var(--primary)!important;color:var(--primary-link)!important;
background:rgba(var(--primary-rgb),.07)!important}


/* ---------- T3: error de taxonomia ---------- */
.k-tax-err{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;padding:12px 16px;border-radius:12px;border:1px solid var(--danger,#e5484d);background:color-mix(in srgb,var(--danger,#e5484d) 8%,transparent);color:var(--text-1);font-size:13.5px}
.k-tax-err .k-tax-retry{margin-left:auto;padding:7px 14px;border-radius:9px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-1);font-weight:700;cursor:pointer}

/* ===== T5-D2.4 - Herramientas y Fuente dentro de 03 Analisis =====
   Misma rejilla que .k-cf-grid (Contexto | Flujo) para que las dos filas
   compartan ritmo visual: 2 columnas en escritorio, apilado en <=900px. */
.k-nf-body .k-of-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px;align-items:start;grid-column:span 12!important;min-width:0}
@media(max-width:900px){.k-nf-body .k-of-grid{grid-template-columns:1fr!important}}
.k-nf-body .k-of-grid .k-of-card{height:100%;box-sizing:border-box;min-width:0}
.k-nf-body .k-of-grid .jet-form-builder-row{grid-column:auto!important;width:100%;margin:0!important;min-width:0}
.k-nf-body .k-of-grid .jet-form-builder__fields-group{display:block!important;grid-template-columns:none!important}
.k-nf-body .k-of-grid .k-cf-row{margin:0!important}
/* Aviso local de procedencia incompleta. El mensaje del servidor manda; esto
   solo senala donde mirar. */
.k-nf-body .k-of-card.is-invalid{outline:1px solid rgba(239,68,68,.75);outline-offset:0}

/* T5-D2.4b - etiquetas duplicadas dentro de 03.
   Cada fila trae la etiqueta nativa de JetForm, y encima nuestro control ya
   pinta la suya (o la cabecera de la tarjeta). Se oculta la nativa: si no,
   el texto largo envuelve las pills y se superpone. */
.k-nf-body .k-of-grid > .k-of-card > .jet-form-builder-row > .jet-form-builder__label{display:none!important}
.k-nf-body .k-of-grid .k-oftools-row > .k-cf-l{display:none!important}
.k-nf-body .k-f-trade_type > .jet-form-builder__label{display:none!important}

/* T5-D2.4c - las etiquetas de procedencia son frases, no palabras sueltas:
   una sola pill puede ser mas ancha que su tarjeta. Se deja que encoja y
   parta linea en vez de desbordar. Ambito limitado a .k-of-grid: el resto de
   metodologias no cambia. */
.k-nf-body .k-of-grid .k-cf-pill{max-width:100%;white-space:normal;text-align:left}

/* ===== T5-E2 - Analisis Fundamental =====
   Reutiliza .k-of-grid (2 col >=900px, apilado por debajo) porque la rejilla
   ya es generica; solo se anaden los ajustes propios de este bloque. */
.k-nf-body .k-fund-row{margin:0!important}
.k-nf-body .k-fund-grid .k-cf-card,.k-nf-body .k-fund-grid2 .k-cf-card{height:auto}
/* Las etiquetas de tesis, area y evento son frases: la pill encoge y parte
   linea en vez de desbordar la tarjeta. */
.k-nf-body .k-fund-row .k-cf-pill{max-width:100%;white-space:normal;text-align:left}
.k-nf-body .k-fund-row .k-cf-p{flex-wrap:wrap}
/* Los 3 datos observados van en linea dentro de la tarjeta Evento. */
.k-nf-body .k-fund-val{grid-column:auto!important;width:100%;margin:0!important}
.k-nf-body .k-fund-ev .k-fund-val .jet-form-builder__label{font-size:11.5px;color:var(--text-3);font-weight:400}
.k-nf-body .k-fund-ev .k-fund-val input{width:100%;box-sizing:border-box}
@media(max-width:900px){.k-nf-body .k-fund-grid,.k-nf-body .k-fund-grid2{grid-template-columns:1fr!important}}

/* ===== T6-C - contexto de modo Backtest =====
   Banner informativo: identidad de la sesion, no editable. */
.k-bt-ctx{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:14px 16px;margin:0 0 14px}
.k-bt-ctx-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.k-bt-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--accent-soft,rgba(99,102,241,.16));color:var(--accent,#818cf8)}
.k-bt-ctx-t{font-size:12.5px;color:var(--text-3)}
.k-bt-ctx-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 18px}
.k-bt-ctx-g>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.k-bt-ctx-g i{font-style:normal;font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.03em}
.k-bt-ctx-g b{font-size:13px;color:var(--text-1);font-weight:600;overflow-wrap:anywhere}
.k-nf-body .k-bt-mrow .k-cf-pill{max-width:100%;white-space:normal;text-align:left}
@media(max-width:520px){.k-bt-ctx-g{grid-template-columns:1fr}}

/* T6-D 3B-2 - bloque Trading Model (Nueva Operacion Live).
   Reutiliza .k-cf-row del formulario: sin arquitectura visual paralela. */
.k-mv-wrap{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
/* .k-nf-body es un grid de 12 columnas que pasa a 6 en <=820px. Otros items
   siguen declarando span 12, asi que se crean tracks implicitos y `1 / -1`
   -que resuelve contra el grid EXPLICITO- dejaba la fila en 80px a 390px.
   `span 12` es lo que usan las demas filas a ancho completo (session_bt_id)
   y funciona en ambos breakpoints: 1051px en desktop, 302px en movil. */
.k-nf-body .k-mv-row{grid-column:span 12}
/* El select es hijo de un flex column: sin min-width:0 no baja de su ancho
   intrinseco y truncaba "Selecciona un modelo". */
.k-mv-f{min-width:0}
.k-mv-sel{min-width:0;max-width:none}
/* El titulo no debe partirse en "Trading / Model" por un wrap accidental. */
.k-mv-row > .k-cf-l{white-space:normal}
.k-mv-row > .k-cf-l > i{white-space:nowrap}
.k-mv-f{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 200px}
.k-mv-lab{font-size:.75rem;color:var(--text-2)}
.k-mv-sel{width:100%;box-sizing:border-box;background:var(--field);border:1px solid var(--border);border-radius:10px;padding:8px 10px;color:var(--text);font:inherit}
.k-mv-sel:disabled{opacity:.55;cursor:not-allowed}
.k-mv-sel:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.k-mv-retry{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:8px 12px;color:var(--text);font:inherit;font-size:.8125rem;cursor:pointer}
.k-mv-msg{flex:1 1 100%;margin:0;font-size:.75rem;color:var(--text-3);min-height:1em}
.k-mv-msg.is-err{color:var(--red)}
@media (max-width:640px){.k-mv-f{flex:1 1 100%}.k-mv-retry{width:100%}}

/* T6-D 3C-1 - contexto de modelo en Backtest: solo lectura, sin apariencia
   de control editable. */
.k-mv-ro .k-mv-wrap{display:block}
.k-mv-ctx{margin:0;font-size:.9375rem;color:var(--text);font-weight:600}
.k-mv-ro .k-mv-msg{margin-top:4px}
.k-mv-st{color:var(--amber);font-size:.75rem;font-weight:500}

/* Resultado TP cuyo objetivo no tiene precio: TP no configurado en esta
   operacion. Se ve apagado y no responde, pero sigue visible para que el
   usuario entienda que ese resultado existe. Sin color nuevo. */
.k-nf-res button[disabled]{opacity:.42;cursor:not-allowed}
.k-nf-res button[disabled]:hover{color:var(--text-4)!important}

/* M4: el documento de Mapeo es la unica excepcion a la regla generica de
   arriba, que fuerza grid-column:auto !important en todo hijo del grid y dejaba
   al editor encajonado en una sola de las dos columnas. Aqui ocupa las dos.
   La rejilla no se toca: sigue siendo de dos columnas para el resto, y no se
   cambia display, width ni gap. Sirve igual cuando el breakpoint deja una sola
   columna, porque 1/-1 abarca las que haya. */
.k-nf-body .k-nf-tfgrid > #k-nf-mapdoc{grid-column:1 / -1 !important}
