/* EXTRAÍDO de la web en vivo (/var/www/kapitelintelligence/index.html, 12-ago-2026).
   Variables renombradas a --lg-* para no chocar con el rediseño. */
:root{--lg-cream:#F4F2ED;--lg-paper-2:#EAE6DE;--lg-surface:#FFFFFF;--lg-dark:#141413;--lg-dark2:#1C1C1A;--lg-dark3:#252523;--lg-lime:#0055FF;--lg-lime-dim:rgba(0,85,255,.10);--lg-blue:#0055FF;--lg-blue-dim:rgba(0,85,255,.10);--lg-accent:#0055FF;--lg-accent-on-dark:#4D88FF;--lg-accent-soft:rgba(0,85,255,.10);--lg-text:#12110F;--lg-text2:#57544E;--lg-text3:#6A665F;--lg-white:#fff;--lg-on-night:#F1EFEA;--lg-border:rgba(18,17,15,.13);--lg-border-2:rgba(18,17,15,.07);--lg-border-d:rgba(241,239,234,.14);--lg-display:'Archivo',system-ui,sans-serif;--lg-body:'Inter',system-ui,sans-serif;--lg-mono:'JetBrains Mono',ui-monospace,monospace;--lg-max:1200px;--lg-r-sm:6px;--lg-r:10px;--lg-r-lg:16px;--lg-r-2:10px;--lg-ease-out:cubic-bezier(.22,1,.36,1);--lg-ease-out-strong:cubic-bezier(.23,1,.32,1);--lg-ease-spring:cubic-bezier(.34,1.56,.64,1)}
/* ═══════════════════════════════════════════════════════════════
   INLINE EDITOR — solo activo con html.ki-edit-mode (set por JS
   cuando ?edit=1 está presente y la página está embebida en iframe).
   Toda esta sección es no-op en visita pública. Prefijo ki- para evitar
   colisiones con clases existentes.
   ═══════════════════════════════════════════════════════════════ */
html.ki-edit-mode body{padding-top:56px}

.ki-toolbar{position:fixed;top:0;left:0;right:0;height:56px;z-index:9999;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:rgba(10,10,12,.86);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border-bottom:1px solid rgba(255,255,255,.08);color:#fff;font-family:-apple-system,BlinkMacSystemFont,'Inter','DM Sans',sans-serif;font-size:13px;line-height:1}
.ki-toolbar-left{display:flex;align-items:center;gap:14px;min-width:0}
.ki-toolbar-status{color:rgba(255,255,255,.92);font-weight:500;white-space:nowrap}
.ki-toolbar-page{font-family:'JetBrains Mono',monospace;font-size:11px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);padding:4px 10px;border-radius:var(--lg-r);color:rgba(255,255,255,.6);letter-spacing:.06em}

/* Fix 1: Page nav selector dentro del toolbar */
.ki-page-nav{display:flex;gap:2px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:7px;padding:3px}
.ki-page-nav button{background:transparent;border:none;color:rgba(255,255,255,.55);padding:5px 10px;border-radius:var(--lg-r);font-size:11px;font-weight:500;cursor:pointer;font-family:inherit;letter-spacing:.005em;transition:background-color .15s cubic-bezier(.22,1,.36,1),color .15s cubic-bezier(.22,1,.36,1),transform .1s cubic-bezier(.22,1,.36,1)}
.ki-page-nav button:hover{background:rgba(255,255,255,.05);color:#fff}
.ki-page-nav button:active{transform:scale(.96)}
.ki-page-nav button.ki-active{background:rgba(0,85,255,.55);color:#fff}

/* Fix 2: Botón "Cerrar y mantener" inyectado dentro del modal cuando se abre desde toolbar */
.ki-modal-close-edit{margin-top:24px;padding:10px 20px;background:var(--lg-accent);color:#fff;border:none;border-radius:var(--lg-r-sm);font-size:12px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.04em;cursor:pointer;align-self:flex-start;transition:background-color .15s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1),transform .1s cubic-bezier(.22,1,.36,1)}
.ki-modal-close-edit:hover{background:#0044CC;box-shadow:0 0 24px rgba(0,85,255,.4)}
.ki-modal-close-edit:active{transform:scale(.97)}
.ki-toolbar-right{display:flex;align-items:center;gap:6px;flex-shrink:0}
.ki-btn{background:transparent;color:rgba(255,255,255,.78);border:1px solid transparent;border-radius:var(--lg-r);padding:7px 12px;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;letter-spacing:.005em;transition:background-color .15s cubic-bezier(.22,1,.36,1),border-color .15s cubic-bezier(.22,1,.36,1),color .15s cubic-bezier(.22,1,.36,1),transform .1s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1)}
.ki-btn:hover{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.08)}
.ki-btn:active{transform:scale(.96)}
.ki-btn-save{background:var(--lg-accent);color:#fff;font-weight:600}
.ki-btn-save:hover{background:#0044CC;color:#fff;border-color:#0044CC;box-shadow:0 0 18px rgba(0,85,255,.35)}
.ki-btn-save.ki-dirty::after{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#CCFF00;margin-left:6px;vertical-align:middle;animation:ki-pulse 1.4s ease-in-out infinite}
@keyframes ki-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.ki-btn-exit{color:rgba(255,255,255,.5)}
.ki-btn-exit:hover{background:rgba(255,80,80,.14);color:#ff7878;border-color:rgba(255,80,80,.18)}

/* [data-field] editable. NO outline en estado idle, solo en hover/focus */
html.ki-edit-mode [data-field]{outline:1px dashed transparent;outline-offset:3px;border-radius:var(--lg-r-sm);cursor:text;position:relative;transition:outline-color .15s cubic-bezier(.22,1,.36,1),background-color .15s cubic-bezier(.22,1,.36,1)}
html.ki-edit-mode [data-field]:hover{outline-color:#CCFF00;background:rgba(204,255,0,.05)}
html.ki-edit-mode [data-field]:focus{outline:1px solid var(--lg-accent);outline-offset:3px;background:rgba(0,85,255,.05)}
html.ki-edit-mode [data-field]:hover::before{content:attr(data-field);position:absolute;bottom:calc(100% + 6px);left:0;background:var(--lg-accent);color:#fff;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:500;padding:4px 8px;border-radius:var(--lg-r);white-space:nowrap;z-index:9998;letter-spacing:.04em;pointer-events:none;text-transform:none;line-height:1;box-shadow:0 4px 12px rgba(0,0,0,.3)}

/* [data-upload] — outline subtle siempre, fuerte en hover. Botón cámara siempre visible (inyectado por JS) */
html.ki-edit-mode [data-upload]{cursor:pointer;outline:1px dashed rgba(0,85,255,.35);outline-offset:4px;transition:outline-color .15s cubic-bezier(.22,1,.36,1),outline-style .15s cubic-bezier(.22,1,.36,1);position:relative}
html.ki-edit-mode [data-upload]:hover{outline-color:var(--lg-accent);outline-style:solid}

/* Botón cámara flotante (Fix 3): siempre visible en modo edit, top-right del elemento */
.ki-upload-btn{position:absolute;top:6px;right:6px;width:22px;height:22px;background:var(--lg-accent);border:none;border-radius:var(--lg-r-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:9997;box-shadow:0 2px 8px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.12) inset;padding:0;color:#fff;transition:transform .15s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1)}
.ki-upload-btn svg{width:12px;height:12px;display:block}
.ki-upload-btn:hover{transform:scale(1.12);box-shadow:0 4px 14px rgba(0,85,255,.6),0 0 0 1px rgba(255,255,255,.2) inset}
.ki-upload-btn:active{transform:scale(.92)}
.ki-upload-btn::after{content:'Subir imagen';position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%);background:rgba(0,85,255,.95);color:#fff;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:10px;font-weight:600;padding:4px 9px;border-radius:var(--lg-r);white-space:nowrap;letter-spacing:.02em;opacity:0;pointer-events:none;transition:opacity .15s cubic-bezier(.22,1,.36,1);box-shadow:0 2px 8px rgba(0,0,0,.3)}
.ki-upload-btn:hover::after{opacity:1}

/* [data-section] visibility toggle overlay */
/* Garantía de positioning incondicional: ki-section-controls (edit mode) Y custom blocks (público) necesitan ancestro positioned */
[data-section]{position:relative}
html.ki-edit-mode [data-section][data-hidden="1"]{opacity:.3;pointer-events:none;position:relative}
html.ki-edit-mode [data-section][data-hidden="1"]::before{content:'Sección oculta';position:absolute;top:20px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.85);color:#fff;font-family:-apple-system,sans-serif;font-size:12px;font-weight:600;padding:8px 16px;border-radius:var(--lg-r);z-index:10;letter-spacing:.02em;pointer-events:auto}

/* Floating panels */
.ki-panel{position:fixed;top:72px;right:16px;z-index:9998;width:320px;max-height:calc(100vh - 96px);background:rgba(10,10,12,.92);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);border:1px solid rgba(255,255,255,.08);border-radius:var(--lg-r);padding:18px;color:#fff;font-family:-apple-system,BlinkMacSystemFont,'Inter',sans-serif;font-size:13px;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.5);display:none;scrollbar-width:thin}
.ki-panel.open{display:block;animation:ki-panel-in .2s cubic-bezier(.22,1,.36,1)}
@keyframes ki-panel-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.ki-panel::-webkit-scrollbar{width:6px}
.ki-panel::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:var(--lg-r-sm)}
.ki-panel h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.5);margin-bottom:14px}
.ki-panel-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ki-panel-label{flex:1;color:rgba(255,255,255,.75);font-size:12px;line-height:1.3}
.ki-panel input[type=color]{width:32px;height:32px;border:1px solid rgba(255,255,255,.1);border-radius:var(--lg-r);background:transparent;cursor:pointer;padding:0;flex-shrink:0}
.ki-panel input[type=text]{flex:1.2;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#fff;padding:7px 10px;border-radius:var(--lg-r);font-family:'JetBrains Mono',monospace;font-size:11px;outline:none;min-width:0}
.ki-panel input[type=text]:focus{border-color:rgba(0,85,255,.5)}
.ki-panel select{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#fff;padding:7px 10px;border-radius:var(--lg-r);font-size:12px;outline:none;cursor:pointer;min-width:0}
.ki-panel select:focus{border-color:rgba(0,85,255,.5)}
.ki-panel input[type=range]{flex:1;accent-color:var(--lg-accent);min-width:0}
.ki-toggle{position:relative;width:36px;height:20px;background:rgba(255,255,255,.1);border-radius:var(--lg-r-sm);cursor:pointer;transition:background-color .2s cubic-bezier(.22,1,.36,1);flex-shrink:0}
.ki-toggle::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.ki-toggle.on{background:var(--lg-accent)}
.ki-toggle.on::after{transform:translateX(16px)}

/* Phase 2: Style panel contextual (right-click sobre [data-style]) + Icon grid (click en [data-icon-field]) */
.ki-style-panel,.ki-icon-grid{position:fixed;z-index:9998;background:rgba(10,10,12,.92);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2);border:1px solid rgba(255,255,255,.08);border-radius:var(--lg-r);padding:14px;box-shadow:0 12px 36px rgba(0,0,0,.55);font-family:-apple-system,BlinkMacSystemFont,'Inter',sans-serif;color:#fff;font-size:12px;animation:ki-panel-in .18s cubic-bezier(.22,1,.36,1)}
.ki-style-panel{width:260px}
.ki-style-panel-title{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:500;letter-spacing:.06em;color:rgba(255,255,255,.5);margin-bottom:12px;word-break:break-all}
.ki-style-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.ki-style-row input[type=color]{width:28px;height:28px;border:1px solid rgba(255,255,255,.1);border-radius:var(--lg-r-sm);background:transparent;cursor:pointer;padding:0;flex-shrink:0}
.ki-style-row label{flex:0 0 48px;color:rgba(255,255,255,.7);font-size:11px}
.ki-style-row input[type=text]{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#fff;padding:5px 8px;border-radius:var(--lg-r);font-family:'JetBrains Mono',monospace;font-size:10px;outline:none;min-width:0;transition:border-color .15s cubic-bezier(.22,1,.36,1)}
.ki-style-row input[type=text]:focus{border-color:rgba(0,85,255,.5)}
.ki-style-actions{display:flex;gap:6px;margin-top:10px;justify-content:flex-end}
.ki-style-actions button{padding:6px 12px;border:none;border-radius:var(--lg-r-sm);font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;letter-spacing:.02em;transition:background-color .15s cubic-bezier(.22,1,.36,1),transform .1s cubic-bezier(.22,1,.36,1)}
.ki-style-actions button:active{transform:scale(.96)}
.ki-style-actions .ki-style-reset{background:rgba(255,255,255,.06);color:rgba(255,255,255,.7)}
.ki-style-actions .ki-style-reset:hover{background:rgba(255,80,80,.16);color:#ff8c8c}
.ki-style-actions .ki-style-apply{background:var(--lg-accent);color:#fff}
.ki-style-actions .ki-style-apply:hover{background:#0044CC}

.ki-icon-grid{display:grid;grid-template-columns:repeat(4,32px);gap:6px;padding:12px}
.ki-icon-cell{width:32px;height:32px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:var(--lg-r-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--lg-accent);transition:background-color .15s cubic-bezier(.22,1,.36,1),border-color .15s cubic-bezier(.22,1,.36,1),transform .1s cubic-bezier(.22,1,.36,1);position:relative}
.ki-icon-cell svg{width:16px;height:16px}
.ki-icon-cell:hover{background:rgba(0,85,255,.18);border-color:rgba(0,85,255,.4);transform:scale(1.08)}
.ki-icon-cell:active{transform:scale(.92)}
.ki-icon-cell.ki-icon-active{background:rgba(0,85,255,.3);border-color:var(--lg-accent);box-shadow:0 0 0 1px rgba(0,85,255,.4)}

/* En edit mode, [data-style] muestra cursor de menú al hover-right (UX hint) */
html.ki-edit-mode [data-style]{cursor:default}

/* Phase 3: list controls (+, ×, ↑, ↓) ─────────────────────────────────────
   - + button al final de cada [data-list]: añade item con placeholder
   - × ↑ ↓ por item (esquina superior derecha): eliminar / mover
   - Solo visibles en edit mode + parent hover */
html.ki-edit-mode [data-style]{position:relative}
.ki-item-controls{position:absolute;top:8px;right:8px;z-index:9996;display:flex;flex-direction:column;gap:3px;opacity:0;pointer-events:none;transition:opacity .15s cubic-bezier(.22,1,.36,1)}
html.ki-edit-mode [data-style]:hover .ki-item-controls,.ki-item-controls:hover{opacity:1;pointer-events:auto}
.ki-item-btn{width:24px;height:24px;background:rgba(10,10,12,.92);border:1px solid rgba(255,255,255,.15);border-radius:var(--lg-r-sm);color:#fff;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;font-family:-apple-system,sans-serif;backdrop-filter:blur(8px);transition:background-color .15s cubic-bezier(.22,1,.36,1),border-color .15s cubic-bezier(.22,1,.36,1),transform .1s cubic-bezier(.22,1,.36,1)}
.ki-item-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25)}
.ki-item-btn:active{transform:scale(.9)}
.ki-item-btn.ki-del{color:#ff8c8c;border-color:rgba(255,80,80,.25);font-size:15px}
.ki-item-btn.ki-del:hover{background:rgba(255,80,80,.15);border-color:rgba(255,80,80,.5)}
/* Confirmación 2-click: tras el primer click el × pasa a ✓ rojo sólido */
.ki-item-btn.ki-del.ki-confirm{background:rgba(255,60,60,.85);color:#fff;border-color:#ff5050;animation:ki-confirm-pulse 1.4s cubic-bezier(.4,0,.6,1) infinite}
@keyframes ki-confirm-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,80,80,.4)}50%{box-shadow:0 0 0 4px rgba(255,80,80,0)}}
.ki-item-btn[disabled]{opacity:.25;cursor:not-allowed;pointer-events:none}

.ki-list-add{flex-shrink:0;width:44px;height:44px;border:2px dashed rgba(204,255,0,.45);background:rgba(204,255,0,.04);color:#CCFF00;font-size:24px;font-weight:300;line-height:1;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;font-family:-apple-system,sans-serif;transition:border-color .15s cubic-bezier(.22,1,.36,1),background-color .15s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.34,1.56,.64,1);align-self:center;margin:8px}
.ki-list-add:hover{border-color:#CCFF00;background:rgba(204,255,0,.12);transform:scale(1.08)}
.ki-list-add:active{transform:scale(.94)}
.ki-list-add[data-inline-grid]{margin:16px auto 0}
.ki-list-add[data-inline-flex]{align-self:center;margin-left:12px}
/* Variante grid: ocupa una celda del grid */
.cases-grid .ki-list-add,.k-modules-grid .ki-list-add,.team-grid .ki-list-add{justify-self:center;align-self:center}

/* Phase 3: Login panel — paneles flotantes consistentes con colores/tipografía */
.ki-panel input[type=text],.ki-panel input[type=url],.ki-panel textarea{flex:1.2;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#fff;padding:7px 10px;border-radius:var(--lg-r);font-family:-apple-system,sans-serif;font-size:11px;outline:none;min-width:0;font-weight:500;transition:border-color .15s cubic-bezier(.22,1,.36,1)}
.ki-panel input[type=text]:focus,.ki-panel input[type=url]:focus,.ki-panel textarea:focus{border-color:rgba(0,85,255,.5)}
.ki-panel textarea{font-family:-apple-system,sans-serif;resize:vertical;min-height:54px}
.ki-panel-row.ki-stack{flex-direction:column;align-items:stretch;gap:4px}
.ki-panel-row.ki-stack .ki-panel-label{flex:none}
.ki-panel-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.35);margin:14px 0 8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}
.ki-panel-section-title:first-child{margin-top:0;padding-top:0;border-top:none}

/* ─── Phase 3.5: section reorder controls (top-center de cada [data-section]) ─── */
html.ki-edit-mode [data-section]{position:relative}
.ki-section-controls{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:9995;display:flex;gap:4px;background:rgba(10,10,12,.92);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:var(--lg-r);padding:4px;box-shadow:0 4px 16px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .2s cubic-bezier(.22,1,.36,1)}
html.ki-edit-mode [data-section]:hover>.ki-section-controls,.ki-section-controls:hover{opacity:1;pointer-events:auto}
.ki-section-controls .ki-sec-name{padding:0 8px;color:rgba(255,255,255,.5);font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.06em;display:flex;align-items:center;text-transform:lowercase}
.ki-sec-btn{width:30px;height:30px;background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:var(--lg-r-sm);color:#fff;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;font-family:-apple-system,sans-serif;transition:background-color .15s cubic-bezier(.22,1,.36,1),border-color .15s cubic-bezier(.22,1,.36,1),transform .1s cubic-bezier(.22,1,.36,1)}
.ki-sec-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25)}
.ki-sec-btn:active{transform:scale(.9)}
.ki-sec-btn[disabled]{opacity:.25;cursor:not-allowed;pointer-events:none}

/* ─── Phase 3.5: 🎨 botón para abrir style panel con click izquierdo ─── */
.ki-style-btn{position:absolute;bottom:6px;right:6px;width:22px;height:22px;background:#CCFF00;border:none;border-radius:var(--lg-r-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:9996;box-shadow:0 2px 8px rgba(0,0,0,.4),0 0 0 1px rgba(0,0,0,.15) inset;padding:0;font-size:10px;line-height:1;transition:transform .15s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1)}
.ki-style-btn:hover{transform:scale(1.12);box-shadow:0 4px 14px rgba(204,255,0,.55),0 0 0 1px rgba(0,0,0,.15) inset}
.ki-style-btn:active{transform:scale(.92)}
.ki-style-btn::after{content:'Editar colores';position:absolute;bottom:50%;right:calc(100% + 8px);transform:translateY(50%);background:#CCFF00;color:#000;font-family:-apple-system,sans-serif;font-size:10px;font-weight:600;padding:4px 9px;border-radius:var(--lg-r);white-space:nowrap;letter-spacing:.02em;opacity:0;pointer-events:none;transition:opacity .15s cubic-bezier(.22,1,.36,1);box-shadow:0 2px 8px rgba(0,0,0,.3)}
.ki-style-btn:hover::after{opacity:1}

/* ─── Phase 3.5: field menu (right-click on [data-field]) ─── */
.ki-field-menu{position:fixed;z-index:9998;background:rgba(10,10,12,.94);backdrop-filter:blur(20px) saturate(1.2);border:1px solid rgba(255,255,255,.1);border-radius:var(--lg-r);padding:6px;box-shadow:0 12px 32px rgba(0,0,0,.5);font-family:-apple-system,sans-serif;font-size:12px;color:#fff;min-width:200px;animation:ki-panel-in .15s cubic-bezier(.22,1,.36,1)}
.ki-field-menu-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border-radius:var(--lg-r-sm);transition:background-color .12s cubic-bezier(.22,1,.36,1);color:rgba(255,255,255,.85);width:100%;background:transparent;border:none;text-align:left;font:inherit;font-size:12px}
.ki-field-menu-item:hover{background:rgba(255,255,255,.07);color:#fff}
.ki-field-menu-item-icon{display:inline-block;width:18px;text-align:center;flex-shrink:0;font-size:13px}
.ki-field-menu-path{padding:6px 12px;color:rgba(255,255,255,.4);font-family:'JetBrains Mono',monospace;font-size:10px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:4px;word-break:break-all}
/* Inline href editor (sandbox bloquea prompt) */
.ki-href-edit{padding:8px 10px}
.ki-href-input{width:100%;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.18);color:#fff;font-family:'JetBrains Mono',monospace;font-size:11px;padding:7px 9px;border-radius:var(--lg-r-sm);outline:none;box-sizing:border-box;transition:border-color .15s cubic-bezier(.23,1,.32,1)}
.ki-href-input:focus{border-color:var(--lg-accent);background:rgba(0,85,255,.08)}
.ki-href-actions{display:flex;gap:6px;margin-top:8px}
.ki-href-actions button{flex:1;font-family:-apple-system,sans-serif;font-size:11px;font-weight:500;padding:7px 10px;border-radius:var(--lg-r-sm);cursor:pointer;border:1px solid transparent;transition:background-color .15s cubic-bezier(.23,1,.32,1),transform .12s cubic-bezier(.23,1,.32,1)}
.ki-href-actions .ki-href-save{background:var(--lg-accent);color:#fff;border-color:var(--lg-accent)}
.ki-href-actions .ki-href-save:hover{filter:brightness(1.15)}
.ki-href-actions .ki-href-cancel{background:transparent;color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.15)}
.ki-href-actions .ki-href-cancel:hover{background:rgba(255,255,255,.06);color:#fff}
.ki-href-actions button:active{transform:scale(.96)}

/* Imágenes que reemplazan texto: outline dashed lime distinto a text edit */
html.ki-edit-mode [data-field-img]{outline:1px dashed rgba(204,255,0,.4);outline-offset:3px;cursor:pointer}
html.ki-edit-mode [data-field-img]:hover{outline-color:#CCFF00;outline-style:solid}
html.ki-edit-mode [data-icon-field]{cursor:pointer;outline:1px dashed transparent;outline-offset:3px;border-radius:var(--lg-r);transition:outline-color .15s cubic-bezier(.22,1,.36,1)}
html.ki-edit-mode [data-icon-field]:hover{outline-color:var(--lg-accent)}

.ki-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);z-index:10000;background:rgba(10,10,12,.94);backdrop-filter:blur(20px);color:#fff;padding:12px 20px;border-radius:var(--lg-r);font-family:-apple-system,sans-serif;font-size:13px;font-weight:500;border:1px solid rgba(255,255,255,.08);box-shadow:0 12px 32px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .2s cubic-bezier(.22,1,.36,1),transform .25s cubic-bezier(.22,1,.36,1);letter-spacing:.005em;max-width:90vw}
.ki-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.ki-toast.err{border-color:rgba(255,80,80,.3);background:rgba(40,10,10,.94)}

/* Reduced motion: silence editor animations too */
@media (prefers-reduced-motion:reduce){
  .ki-toolbar,.ki-panel,.ki-toast,.ki-btn,.ki-toggle::after{transition-duration:.01ms !important;animation-duration:.01ms !important}
}

/* ═══ FASE 4: Custom Blocks ════════════════════════════════════════════
   Bloques libres (texto + imagen) con position:absolute dentro de la
   sección donde se colocaron. Requiere [data-section]{position:relative}
   incondicional (regla extendida más arriba). */
.ki-custom-block{position:absolute;z-index:5;box-sizing:border-box;min-width:40px;min-height:24px}
.ki-custom-block .ki-cb-content{outline:none;white-space:pre-wrap;word-break:break-word}
.ki-custom-block.ki-cb-image img{display:block;width:100%;height:auto;border-radius:inherit;user-select:none;-webkit-user-drag:none}
html.ki-edit-mode .ki-custom-block{outline:1px dashed transparent;outline-offset:2px;transition:outline-color .15s cubic-bezier(.23,1,.32,1)}
html.ki-edit-mode .ki-custom-block:hover{outline-color:rgba(0,85,255,.45)}
html.ki-edit-mode .ki-custom-block.ki-cb-dragging,html.ki-edit-mode .ki-custom-block.ki-cb-resizing{outline-color:var(--lg-accent);outline-style:solid;user-select:none}
html.ki-edit-mode .ki-custom-block.ki-cb-dragging{cursor:grabbing}

/* Drag handle (top-left) */
.ki-cb-handle{position:absolute;top:-12px;left:-12px;width:22px;height:22px;background:var(--lg-accent);border:none;border-radius:var(--lg-r-sm);color:#fff;cursor:grab;display:none;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1;padding:0;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.4);transition:transform .15s cubic-bezier(.23,1,.32,1)}
html.ki-edit-mode .ki-custom-block:hover .ki-cb-handle,html.ki-edit-mode .ki-custom-block.ki-cb-dragging .ki-cb-handle{display:inline-flex}
.ki-cb-handle:hover{transform:scale(1.1)}
.ki-cb-handle:active{cursor:grabbing;transform:scale(.94)}

/* Delete (top-right) — reusa patrón ki-confirm de 2-click */
.ki-cb-del{position:absolute;top:-12px;right:-12px;width:22px;height:22px;background:rgba(20,20,22,.92);border:1px solid rgba(255,80,80,.35);border-radius:var(--lg-r-sm);color:#ff8c8c;cursor:pointer;display:none;align-items:center;justify-content:center;font-size:14px;line-height:1;padding:0;z-index:10;box-shadow:0 2px 8px rgba(0,0,0,.4);transition:background-color .15s cubic-bezier(.23,1,.32,1),color .15s cubic-bezier(.23,1,.32,1)}
html.ki-edit-mode .ki-custom-block:hover .ki-cb-del{display:inline-flex}
.ki-cb-del:hover{background:rgba(255,60,60,.85);color:#fff;border-color:#ff5050}
.ki-cb-del.ki-confirm{background:rgba(255,60,60,.85);color:#fff;border-color:#ff5050;animation:ki-confirm-pulse 1.4s cubic-bezier(.4,0,.6,1) infinite}

/* Resize handle (bottom-right) */
.ki-cb-resize{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;background:var(--lg-accent);border:2px solid rgba(255,255,255,.9);border-radius:var(--lg-r-sm);cursor:nwse-resize;display:none;z-index:10;box-shadow:0 2px 6px rgba(0,0,0,.35)}
html.ki-edit-mode .ki-custom-block:hover .ki-cb-resize,html.ki-edit-mode .ki-custom-block.ki-cb-resizing .ki-cb-resize{display:block}

/* Modo placement: crosshair global + secciones outline azul */
html.ki-cb-placement,html.ki-cb-placement *{cursor:crosshair !important}
html.ki-cb-placement [data-section]{outline:2px dashed rgba(0,85,255,.4);outline-offset:-2px;transition:outline-color .15s cubic-bezier(.23,1,.32,1)}
html.ki-cb-placement [data-section]:hover{outline-color:var(--lg-accent);background:rgba(0,85,255,.03)}
.ki-cb-hint{position:fixed;top:72px;left:50%;transform:translateX(-50%);z-index:9999;background:var(--lg-accent);color:#fff;padding:8px 16px;border-radius:var(--lg-r);font-family:-apple-system,sans-serif;font-size:12px;font-weight:500;box-shadow:0 4px 12px rgba(0,0,0,.35);letter-spacing:.02em;pointer-events:none;animation:ki-cb-hint-in .2s cubic-bezier(.23,1,.32,1)}
@keyframes ki-cb-hint-in{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}

/* Mini-panel de estilos (right-click sobre bloque) */
.ki-cb-style-panel{position:fixed;z-index:9998;background:rgba(10,10,12,.94);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);border:1px solid rgba(255,255,255,.1);border-radius:var(--lg-r);padding:12px;box-shadow:0 12px 32px rgba(0,0,0,.5);font-family:-apple-system,sans-serif;font-size:11px;color:#fff;min-width:260px;display:flex;flex-direction:column;gap:6px;animation:ki-panel-in .15s cubic-bezier(.22,1,.36,1)}
.ki-cb-style-panel label{color:rgba(255,255,255,.5);font-family:'JetBrains Mono',monospace;font-size:10px;text-transform:lowercase;letter-spacing:.04em;margin-top:4px}
.ki-cb-style-panel .row{display:flex;gap:6px;align-items:center}
.ki-cb-style-panel input[type=color]{width:32px;height:26px;background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:var(--lg-r);padding:0;cursor:pointer;flex-shrink:0}
.ki-cb-style-panel input[type=text]{flex:1;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.18);color:#fff;font-family:'JetBrains Mono',monospace;font-size:11px;padding:5px 8px;border-radius:var(--lg-r);outline:none;box-sizing:border-box;transition:border-color .12s cubic-bezier(.23,1,.32,1)}
.ki-cb-style-panel input[type=text]:focus{border-color:var(--lg-accent)}
.ki-cb-style-panel select{flex:1;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.18);color:#fff;font-family:'JetBrains Mono',monospace;font-size:11px;padding:5px 8px;border-radius:var(--lg-r);outline:none;cursor:pointer}

/* Toolbar buttons de bloques (verde-lima como acento de inserción) */
.ki-btn.ki-btn-block{color:#CCFF00;border-color:rgba(204,255,0,.25)}
.ki-btn.ki-btn-block:hover{background:rgba(204,255,0,.12);color:#CCFF00;border-color:rgba(204,255,0,.55)}

/* [integración] selector de páginas (24 rutas no caben como botones) */
.ki-page-nav select{background:#1C1C1A;color:#fff;border:0;border-radius:5px;font:inherit;font-size:12px;padding:5px 8px;max-width:260px;cursor:pointer}
