:root{
  --ec-green:#10B981;
  --ec-green-dark:#047857;
  --ec-ink:#10221c;
  --ec-muted:#60706a;
  --ec-line:#dfe9e4;
  --ec-bg:#f7f8f5;
  --ec-warm:#f5efe7;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ec-bg);color:var(--ec-ink);font-family:"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.ecp-shell{min-height:100vh}
.ecp-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(16,185,129,.1)}
.ecp-header-inner{max-width:1240px;margin:auto;height:72px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.ecp-logo{height:36px;width:auto;display:block}
.ecp-back{display:inline-flex;align-items:center;gap:8px;color:#53645e;font-size:14px;font-weight:700}
.ecp-back:hover{color:var(--ec-green-dark)}
.ecp-version{font-size:12px;color:#82908b;font-weight:700}
.ecp-main{max-width:1240px;margin:0 auto;padding:38px 24px 70px}
.ecp-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.ecp-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#e9fbf3;color:#047857;font-size:12px;font-weight:800;letter-spacing:.02em}
.ecp-title{font-size:clamp(32px,5vw,54px);line-height:1.02;letter-spacing:-.045em;margin:14px 0 10px;max-width:760px}
.ecp-subtitle{margin:0;color:var(--ec-muted);font-size:16px;line-height:1.7;max-width:720px}
.ecp-product-chip{min-width:260px;background:white;border:1px solid var(--ec-line);border-radius:18px;padding:14px;display:flex;gap:12px;align-items:center;box-shadow:0 14px 40px rgba(20,50,40,.06)}
.ecp-product-chip img{width:64px;height:64px;border-radius:14px;object-fit:cover;background:#f2f4f1}
.ecp-product-chip strong{display:block;font-size:13px;line-height:1.35}
.ecp-product-chip span{font-size:12px;color:#718079}
.ecp-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:28px;align-items:start}
.ecp-preview-card{position:sticky;top:96px;background:#fff;border:1px solid var(--ec-line);border-radius:28px;padding:18px;box-shadow:0 22px 70px rgba(25,55,45,.1)}
.ecp-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;padding:0 2px}
.ecp-preview-head strong{font-size:15px}.ecp-preview-head span{font-size:11px;color:#74827c;background:#f3f6f4;border-radius:999px;padding:7px 10px;font-weight:700}
.ecp-canvas-wrap{position:relative;background:linear-gradient(145deg,#f4efe6,#fbfbf8);border-radius:22px;overflow:hidden;aspect-ratio:1000/760;border:1px solid #e5e6df}
#mockupCanvas{width:100%;height:100%;display:block}
.ecp-preview-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:14px;color:#66756f;font-size:12px;line-height:1.45}
.ecp-reset{border:0;background:#edf8f3;color:#047857;border-radius:12px;padding:9px 12px;font-weight:800;cursor:pointer}
.ecp-reset:hover{background:#ddf5e9}
.ecp-panel{display:flex;flex-direction:column;gap:16px}
.ecp-step{background:#fff;border:1px solid var(--ec-line);border-radius:24px;padding:22px;box-shadow:0 12px 36px rgba(25,55,45,.05);transition:.2s ease}
.ecp-step.is-active{border-color:rgba(16,185,129,.52);box-shadow:0 14px 42px rgba(16,185,129,.10)}
.ecp-step-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:16px}
.ecp-step-no{width:34px;height:34px;flex:0 0 34px;border-radius:12px;background:#eafaf3;color:#047857;display:grid;place-items:center;font-size:13px;font-weight:900}
.ecp-step h2{font-size:17px;margin:1px 0 4px;letter-spacing:-.02em}.ecp-step p{font-size:13px;color:#6a7872;line-height:1.55;margin:0}
.ecp-drop{display:block;border:1.5px dashed #b8d9ca;border-radius:18px;padding:22px;background:#f8fcfa;text-align:center;cursor:pointer;transition:.2s ease}
.ecp-drop:hover,.ecp-drop.is-drag{border-color:var(--ec-green);background:#effbf5}.ecp-drop-icon{width:44px;height:44px;margin:0 auto 10px;border-radius:14px;background:#dff8ed;color:#047857;display:grid;place-items:center;font-size:22px}.ecp-drop strong{font-size:14px;display:block}.ecp-drop span{font-size:12px;color:#78857f;display:block;margin-top:5px}
.ecp-file-state{margin-top:10px;display:none;align-items:center;justify-content:space-between;gap:10px;background:#f3f8f5;border-radius:12px;padding:10px 12px;font-size:12px}.ecp-file-state.is-visible{display:flex}.ecp-file-state strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecp-file-ok{color:#047857;font-weight:800}
.ecp-controls{display:grid;gap:14px}.ecp-control-row{display:grid;grid-template-columns:90px 1fr 48px;gap:10px;align-items:center}.ecp-control-row label{font-size:12px;font-weight:800;color:#52615b}.ecp-control-row output{font-size:11px;text-align:right;color:#78857f;font-variant-numeric:tabular-nums}.ecp-range{accent-color:var(--ec-green);width:100%}
.ecp-control-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}.ecp-mini-btn{border:1px solid #dbe7e1;background:white;color:#53625c;border-radius:11px;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer}.ecp-mini-btn:hover{border-color:#a8d8c2;color:#047857}.ecp-tip{margin-top:13px;padding:12px 13px;border-radius:14px;background:#f8f6ef;color:#6d665b;font-size:11px;line-height:1.55}
.ecp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ecp-field{display:grid;gap:6px}.ecp-field.full{grid-column:1/-1}.ecp-field label{font-size:12px;font-weight:800;color:#4b5b55}.ecp-input,.ecp-textarea{width:100%;border:1px solid #d9e5df;border-radius:13px;background:#fff;padding:12px 13px;color:#14231e;outline:none;transition:.15s ease}.ecp-input:focus,.ecp-textarea:focus{border-color:var(--ec-green);box-shadow:0 0 0 3px rgba(16,185,129,.10)}.ecp-textarea{min-height:84px;resize:vertical}
.ecp-consent{display:flex;align-items:flex-start;gap:10px;margin-top:14px;font-size:11px;color:#66756f;line-height:1.5}.ecp-consent input{margin-top:3px;accent-color:var(--ec-green)}
.ecp-submit{width:100%;border:0;border-radius:16px;background:var(--ec-green);color:white;padding:15px 18px;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 16px 28px rgba(16,185,129,.24);display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px}.ecp-submit:hover{filter:brightness(.96);transform:translateY(-1px)}.ecp-submit:disabled{opacity:.6;cursor:wait;transform:none}
.ecp-note{font-size:11px;color:#82908a;text-align:center;margin-top:10px;line-height:1.5}
.ecp-alert{display:none;border-radius:15px;padding:12px 14px;font-size:12px;line-height:1.55;margin-top:12px}.ecp-alert.is-visible{display:block}.ecp-alert.error{background:#fff0f0;color:#9f2424;border:1px solid #ffd1d1}.ecp-alert.success{background:#ebfaf3;color:#066e4c;border:1px solid #c8f0df}
.ecp-success{display:none;background:white;border:1px solid #bfe9d6;border-radius:24px;padding:24px;box-shadow:0 18px 48px rgba(16,185,129,.10)}.ecp-success.is-visible{display:block}.ecp-success-icon{width:48px;height:48px;border-radius:16px;background:#dcf8eb;display:grid;place-items:center;color:#047857;font-size:24px;margin-bottom:12px}.ecp-success h2{margin:0 0 8px;font-size:22px}.ecp-success p{color:#61716a;font-size:13px;line-height:1.65}.ecp-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;background:#10B981;color:white;font-weight:900;font-size:13px;padding:13px 16px;margin-top:8px}
.ecp-trust{max-width:1240px;margin:0 auto 42px;padding:0 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ecp-trust div{background:white;border:1px solid var(--ec-line);border-radius:14px;padding:12px 14px;font-size:11px;color:#64736d;text-align:center}.ecp-trust strong{color:#273a32}
.ecp-footer{border-top:1px solid var(--ec-line);background:#0d2019;color:#d9e8e1}.ecp-footer-inner{max-width:1240px;margin:auto;padding:28px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px}.ecp-footer img{height:30px;filter:brightness(0) invert(1);opacity:.92}.ecp-footer span{color:#90a49b}
@media(max-width:980px){.ecp-grid{grid-template-columns:1fr}.ecp-preview-card{position:relative;top:auto}.ecp-intro{align-items:flex-start;flex-direction:column}.ecp-product-chip{width:100%}.ecp-trust{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.ecp-header-inner{height:64px;padding:0 16px}.ecp-logo{height:31px}.ecp-version{display:none}.ecp-main{padding:26px 14px 48px}.ecp-title{font-size:36px}.ecp-grid{gap:16px}.ecp-preview-card{padding:10px;border-radius:20px}.ecp-preview-head{padding:3px 4px}.ecp-step{padding:18px;border-radius:20px}.ecp-form-grid{grid-template-columns:1fr}.ecp-field.full{grid-column:auto}.ecp-control-row{grid-template-columns:72px 1fr 40px}.ecp-trust{padding:0 14px;grid-template-columns:1fr 1fr;gap:7px}.ecp-footer-inner{padding:24px 16px;flex-direction:column;align-items:flex-start}}
/* V2.1.1 — IA opcional para encuadre */
.ecp-ai-box{margin-top:14px;border:1px solid #cce9dc;background:linear-gradient(135deg,#f0fbf6,#f8fcfa);border-radius:16px;padding:13px;display:grid;grid-template-columns:1fr auto;gap:9px 12px;align-items:center}.ecp-ai-box>div:first-child{display:grid;gap:4px}.ecp-ai-box strong{font-size:12px;color:#075d43}.ecp-ai-box span{font-size:10px;line-height:1.5;color:#66766f;max-width:520px}.ecp-ai-box button{border:0;border-radius:12px;background:#073f31;color:#fff;padding:10px 12px;font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap}.ecp-ai-box button:hover{filter:brightness(1.07)}.ecp-ai-box button:disabled{opacity:.55;cursor:wait}.ecp-ai-status{grid-column:1/-1;display:none;border-radius:11px;padding:9px 10px;font-size:10px;line-height:1.45}.ecp-ai-status.show{display:block;background:#e8f8f1;color:#075e44}.ecp-ai-status.error{display:block;background:#fff0f0;color:#9c2b2b}.ecp-calibrated-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#e9faf2;color:#047857;font-size:9px;font-weight:900;margin-left:7px}.ecp-safe-warning{position:absolute;left:12px;bottom:12px;z-index:3;background:rgba(123,74,0,.88);color:white;padding:7px 9px;border-radius:10px;font-size:9px;font-weight:800;display:none}.ecp-safe-warning.show{display:block}
@media(max-width:620px){.ecp-ai-box{grid-template-columns:1fr}.ecp-ai-box button{width:100%}}
