/* Editor y controles de contenido configurable. */
.editor-preview .editor-entry { display:none; }
body.editor-open { overflow:hidden; }
.progress-dots{overflow-x:auto;scrollbar-width:none;}
.chapter-progress{min-width:0;overflow:hidden;}
.presentation-editor {color-scheme:light;}
.presentation-brand { max-width:28vw; }
.presentation-step :is(.chapter-copy,.product-copy,.wide-copy,.contact-copy,.hero-copy) { zoom:calc(var(--global-font-scale,1) * var(--slide-font-scale,1)); }
.presentation-step .wide-copy { background-color:var(--panel); }
.presentation-loader {background:var(--ink);}
.presentation-header,.presentation-controls {background:color-mix(in srgb,var(--ink) 90%,transparent);}
.presentation-step :is(.scope-panel,.project-card,.facility-stats,.contact-details) {background-color:var(--panel);}
.transition-plane { background:var(--ink); }
.chapter-transition.is-active .transition-plane-a,
.chapter-transition.is-active .transition-plane-b,
.chapter-transition.is-active > div { animation-duration:var(--transition-duration,1120ms); }
.chapter-transition[data-effect="fade"] .transition-plane { transform:none; }
.chapter-transition[data-effect="fade"].is-active .transition-plane { animation:editor-fade var(--transition-duration) ease both; }
.chapter-transition[data-effect="slide"].is-active .transition-plane-a { width:101%;animation:editor-slide var(--transition-duration) ease both; }
.chapter-transition[data-effect="slide"] .transition-plane-b { display:none; }
.chapter-transition[data-effect="zoom"] .transition-plane-a { width:101%; }
.chapter-transition[data-effect="zoom"] .transition-plane-b { display:none; }
.chapter-transition[data-effect="zoom"].is-active .transition-plane-a { animation:editor-zoom var(--transition-duration) ease both; }
@keyframes editor-fade {0%,100%{opacity:0}35%,65%{opacity:1}}
@keyframes editor-slide {0%{transform:translateX(-102%)}35%,65%{transform:translateX(0)}100%{transform:translateX(102%)}}
@keyframes editor-zoom {0%{transform:scale(.1);opacity:0}35%,65%{transform:scale(1);opacity:1}100%{transform:scale(1.3);opacity:0}}
.presentation-editor { --edit-blue:#176bed; --edit-border:#d5dde8; position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:#edf1f6; color:#18263d; font-family:Arial,sans-serif; z-index:200; }
.presentation-editor::backdrop {background:#020812ef;}
.presentation-editor:not([open]) {display:none;}
.presentation-editor * {box-sizing:border-box;}
.presentation-editor button,.presentation-editor input,.presentation-editor select,.presentation-editor textarea {font:inherit;font-size:13px;}
.presentation-editor button {min-height:36px;padding:8px 12px;border:1px solid var(--edit-border);border-radius:7px;background:white;color:#23334e;cursor:pointer;line-height:1.25;}
.presentation-editor button:hover {background:#e8f0fd;border-color:#b2c9ed;}
.presentation-editor button:focus-visible,.presentation-editor :is(input,select,textarea):focus-visible {outline:3px solid #77aaff;outline-offset:2px;}
.presentation-editor button:disabled{opacity:.5;cursor:wait;}
.presentation-editor .editor-primary{background:var(--edit-blue);border-color:var(--edit-blue);color:white;font-weight:700;}
.presentation-editor .editor-primary:hover{background:#145bc4;}
.presentation-editor .editor-danger{color:#a92c3b;}
.presentation-editor h2,.presentation-editor h3{color:#142640;letter-spacing:-.025em;font-weight:700;max-width:none;line-height:1.15;}
.presentation-editor h2{font-size:24px;}
.presentation-editor h3{font-size:16px;}
.presentation-editor p{font-size:13px;line-height:1.5;}
.editor-kicker{font-size:10px!important;letter-spacing:.15em;font-weight:700;color:#4384e5;}
.editor-login {position:relative;width:min(460px,calc(100% - 32px));margin:10vh auto 0;padding:42px 34px;background:white;border:1px solid #d5dde8;border-radius:16px;box-shadow:0 25px 100px #001d4233;display:grid;gap:20px;}
.editor-login h2{font-size:34px;line-height:1.05;max-width:13ch;}
.editor-login p{color:#60708a;}
.editor-login label{display:grid;gap:8px;font-size:12px;font-weight:700;}
.editor-login input{width:100%;height:46px;border:1px solid #afbed2;border-radius:7px;padding:12px;background:white;color:#132945;}
.editor-login-close{justify-self:end;}
.editor-online-link{font-size:12px;color:#176bed;}
.editor-toolbar{height:84px;display:flex;align-items:center;gap:12px;padding:12px 22px;background:#07162d;color:#e0e9f7;border-bottom:1px solid #263851;}
.editor-toolbar h2{font-size:19px;color:#fff;margin-top:4px;}
.editor-heading{flex:0 0 auto;}
.editor-status{flex:1;color:#aec1dc;font-size:12px!important;padding-inline:10px;}
.presentation-editor .error{color:#e35665;}
.editor-workspace{display:grid;grid-template-columns:220px minmax(250px,1fr) 365px;height:calc(100dvh - 84px);}
.editor-slide-sidebar{background:#f9fbfd;border-right:1px solid var(--edit-border);display:flex;flex-direction:column;min-height:0;}
.editor-sidebar-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 12px 12px;gap:6px;}
.editor-sidebar-heading button{font-size:11px;}
.editor-slide-list{padding:0 10px;overflow:auto;flex:1;min-height:0;}
.presentation-editor .editor-slide-row{display:grid;grid-template-columns:25px minmax(0,1fr);gap:4px 8px;width:100%;text-align:left;margin-bottom:7px;padding:12px 10px;min-height:65px;}
.editor-slide-row b{grid-row:span 2;color:#8392aa;font-size:14px;}
.editor-slide-row span{font-size:12px;font-weight:700;overflow-wrap:anywhere;}
.editor-slide-row small{font-size:10px;color:#6f7d94;}
.presentation-editor .editor-slide-row.active{border-color:#377feb;background:#eaf2ff;box-shadow:inset 3px 0 #176bed;}
.editor-backup-actions{padding:12px 10px;display:grid;grid-template-columns:1fr 1fr;gap:6px;border-top:1px solid var(--edit-border);}
.editor-backup-actions button{font-size:10px;padding:8px 4px;}
.editor-preview-panel{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:20px;min-width:0;background:#dfe6ef;}
.editor-preview-label{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.editor-preview-label p{font-size:9px;letter-spacing:.06em;color:#64748b;}
.editor-preview-label button{font-size:10px;}
.editor-preview-stage{position:relative;flex:1;min-height:240px;overflow:hidden;}
.editor-preview-frame{position:absolute;left:50%;top:50%;width:1280px;height:800px;border:1px solid #354861;border-radius:8px;transform-origin:center;transform:translate(-50%,-50%) scale(.4);background:#010611;box-shadow:0 18px 44px #35445d25;}
.editor-preview-tip{color:#63748b;font-size:11px!important;}
.editor-inspector{display:flex;flex-direction:column;background:white;border-left:1px solid var(--edit-border);min-height:0;}
.editor-tabs{display:flex;padding:12px 10px;border-bottom:1px solid var(--edit-border);gap:5px;}
.editor-tabs button{flex:1;border:0;font-size:12px;padding:7px;}
.presentation-editor .editor-tabs button.active{color:#176bed;background:#eaf2ff;font-weight:700;}
.editor-fields{padding:18px;overflow:auto;flex:1;overscroll-behavior:contain;}
.editor-section-title{margin:10px 0 16px!important;}
.editor-help{font-size:12px!important;color:#64748b;margin:16px 0!important;}
.editor-field{display:grid;gap:7px;margin-bottom:16px;font-size:12px;color:#40516b;}
.editor-field > span{font-weight:600;}
.editor-field small{font-size:10px;color:#71839e;line-height:1.4;}
.editor-field :is(input,textarea,select){width:100%;min-width:0;border:1px solid #c8d4e3;border-radius:6px;padding:9px;background:#f9fbfd;color:#132945;}
.editor-field textarea{resize:vertical;line-height:1.45;}
.editor-field input[type="color"]{height:38px;padding:4px;cursor:pointer;}
.editor-field input[type="range"]{padding:3px 0;accent-color:#176bed;}
.editor-check{display:flex;align-items:center;justify-content:space-between;line-height:1.4;gap:10px;}
.editor-check input{width:18px;height:18px;flex:0 0 18px;accent-color:#176bed;}
.editor-row-actions{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap;}
.editor-row-actions button{font-size:11px;}
.editor-text-item{border:1px solid #dbe3ee;border-radius:8px;padding:11px;margin-top:9px;}
.editor-text-item summary{font-size:11px;font-weight:700;color:#40516b;cursor:pointer;line-height:1.5;}
.editor-text-item[open] summary{margin-bottom:14px;}
.editor-text-item .editor-field{margin-bottom:10px;}
.editor-image-item{border-bottom:1px solid #dbe3ee;padding-bottom:15px;margin-bottom:20px;}
.editor-image-thumb{height:135px;width:100%;object-fit:contain;background:repeating-conic-gradient(#e7edf4 0% 25%,#fff 0% 50%) 0 0/16px 16px;border:1px solid #dbe3ee;border-radius:8px;margin-bottom:10px;}
.editor-sheet-backdrop{position:absolute;inset:0;display:grid;align-items:center;justify-items:center;padding:24px;background:#07162dcf;z-index:2;}
.editor-sheet{width:min(850px,100%);max-height:85dvh;overflow:auto;background:white;padding:24px;border-radius:12px;box-shadow:0 22px 70px #0005;display:grid;gap:12px;}
.editor-sheet-close{justify-self:end;}
.editor-template-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.editor-template-list button{min-height:70px;}
.editor-media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.editor-media-grid button{min-width:0;}
.editor-media-grid img{height:105px;width:100%;object-fit:contain;background:#eef2f7;}
.editor-media-grid span{display:block;overflow-wrap:anywhere;font-size:10px;margin-top:8px;}
.editor-mobile-nav{display:none;}
@media(max-width:1200px){.editor-workspace{grid-template-columns:180px minmax(200px,1fr) 310px;}.editor-preview-panel{padding:10px;}.editor-toolbar{gap:7px;padding:10px;}.editor-toolbar button{font-size:11px;}.editor-toolbar .editor-status{font-size:10px!important;}}
@media(max-width:900px){.editor-workspace{grid-template-columns:160px minmax(0,1fr);}.editor-preview-panel{display:none;}.editor-toolbar h2{font-size:14px;}.editor-toolbar{flex-wrap:wrap;height:112px;}.editor-heading{flex:1;}.editor-status{flex-basis:55%;}.editor-workspace{height:calc(100dvh - 156px);}.editor-mobile-nav{height:44px;display:flex;gap:8px;padding:5px 10px;background:#dfe6ef;}.editor-mobile-nav button{flex:1;min-height:32px;padding:5px;}.presentation-editor[data-mobile="preview"] .editor-slide-sidebar,.presentation-editor[data-mobile="preview"] .editor-inspector{display:none;}.presentation-editor[data-mobile="preview"] .editor-workspace{display:block;}.presentation-editor[data-mobile="preview"] .editor-preview-panel{display:flex;height:100%;}.editor-preview-frame{min-height:200px;}}
@media(max-width:600px){.editor-workspace{display:block;}.editor-slide-sidebar{display:none;height:100%;}.editor-inspector{height:100%;}.presentation-editor[data-mobile="slides"] .editor-slide-sidebar{display:flex;}.presentation-editor[data-mobile="slides"] .editor-inspector{display:none;}.editor-fields{padding:16px;}.editor-toolbar button{font-size:10px;padding:7px;}.editor-toolbar .editor-status{flex-basis:100%;order:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;}.editor-heading{flex-basis:100%;display:flex;align-items:center;gap:10px;}.editor-heading h2{margin:0;}.editor-toolbar{height:140px;gap:5px;}.editor-workspace{height:calc(100dvh - 184px);}.editor-media-grid,.editor-template-list{grid-template-columns:repeat(2,1fr);}.editor-sheet-backdrop{padding:10px;}.editor-login{padding:26px;margin-top:5vh;}.editor-login h2{font-size:29px;}.header-actions{gap:.3rem;}.text-action{padding-inline:.4rem;font-size:.6rem;}.icon-action{width:2rem;}.presentation-brand{max-width:25vw;}}
@media(prefers-reduced-motion:reduce){.chapter-transition{display:none!important;}}
