/* ═══════════════════════════════════════════════════════════════════════════
   NEX GROUP · demos/assets/demos.css
   Todo va bajo .dmx para no chocar con los estilos del sitio (Tailwind/Bootstrap
   de los partials antiguos). El color del prospecto (--dm-brand*) solo se aplica
   dentro de .dm-stage; la página de Nex mantiene su azul.
   ═══════════════════════════════════════════════════════════════════════════ */

.dmx{
  --nx-paper:#F3F5F8; --nx-surface:#FFFFFF; --nx-ink:#0B1B33; --nx-ink-2:#42516B; --nx-ink-3:#5F6B81; --nx-line:#DCE2EB;
  --nx-blue:#1452F0; --nx-blue-d:#0E3CB4; --nx-blue-50:#EAF0FF;
  --nx-won:#0FA968; --nx-won-text:#0A7A4B; --nx-won-50:#E3F7EE; --nx-warn:#E89A0C; --nx-warn-text:#8F5D00; --nx-warn-50:#FFF4DE;
  --nx-lost:#D6453D; --nx-lost-text:#B23128; --nx-lost-50:#FDECEA; --nx-wa:#1FA855;
  --nx-display:'Space Grotesk', ui-sans-serif, system-ui, sans-serif;
  --nx-text:'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --nx-app:-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Geist', 'Segoe UI', Roboto, sans-serif;
  --nx-shadow-float:0 24px 60px -20px rgba(11,27,51,.28), 0 2px 6px rgba(11,27,51,.06);
  --nx-ease:cubic-bezier(.2,.7,.2,1);
  --dm-brand:#1452F0; --dm-brand-d:#0F40BC; --dm-brand-text:#1452F0; --dm-brand-50:#EEF3FE; --dm-brand-100:#D6E2FD; --dm-brand-300:#8AA9F7; --dm-on-brand:#FFFFFF;
  --dm-focus:var(--nx-blue);
  font-family:var(--nx-text); color:var(--nx-ink); line-height:1.5; -webkit-font-smoothing:antialiased;
}
.dmx *, .dmx *::before, .dmx *::after{ box-sizing:border-box; }
.dmx h1, .dmx h2, .dmx h3, .dmx h4, .dmx p, .dmx ul, .dmx ol, .dmx dl, .dmx dd, .dmx figure{ margin:0; padding:0; }
.dmx ul, .dmx ol{ list-style:none; }
.dmx svg{ display:inline-block; vertical-align:middle; }
.dmx img{ display:block; max-width:100%; }
.dmx button, .dmx input, .dmx select, .dmx textarea{ font:inherit; color:inherit; }
.dmx button{ cursor:pointer; }
.dmx button:disabled{ cursor:default; }
.dmx a{ color:var(--nx-blue); }
.dmx :focus{ outline:none; }
.dmx :focus-visible{ outline:2px solid var(--dm-focus); outline-offset:2px; border-radius:6px; }
.dmx .dm-sr{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.dmx .dm-ic{ display:inline-flex; flex:none; line-height:0; }
.dmx [hidden]{ display:none!important; }

/* ─── página ─── */
main.dmx{ display:block; background:var(--nx-paper); padding:28px 0 72px; }
.dmx .dm-wrap{ max-width:1200px; margin:0 auto; padding:0 24px; }
.dmx .dm-wrap--wide{ max-width:1400px; }
.dmx .dm-crumbs{ display:flex; gap:8px; align-items:center; font-size:.875rem; color:var(--nx-ink-3); margin-bottom:22px; }
.dmx .dm-crumbs a{ color:var(--nx-ink-2); text-decoration:none; }
.dmx .dm-crumbs a:hover{ color:var(--nx-blue); text-decoration:underline; }
.dmx .dm-hello{ display:inline-block; background:var(--nx-surface); border:1px solid var(--nx-line); border-radius:999px; padding:8px 16px; font-size:.9375rem; color:var(--nx-ink-2); margin-bottom:18px; }
.dmx .dm-hello strong{ color:var(--nx-ink); }
.dmx .dm-head{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:24px 56px; align-items:end; margin-bottom:28px; }
.dmx .dm-h1{ font-family:var(--nx-display); font-weight:600; font-size:clamp(2rem,3.6vw,3.15rem); line-height:1.04; letter-spacing:-.025em; color:var(--nx-ink); text-wrap:balance; }
.dmx .dm-lead{ font-size:1.0625rem; color:var(--nx-ink-2); max-width:56ch; line-height:1.6; }
.dmx .dm-h2{ font-family:var(--nx-display); font-weight:600; font-size:1.75rem; letter-spacing:-.015em; line-height:1.15; margin-bottom:14px; }
.dmx .dm-h3{ font-family:var(--nx-display); font-weight:600; font-size:1.3rem; letter-spacing:-.01em; line-height:1.2; margin:28px 0 10px; }
.dmx .dm-h4{ font-family:var(--nx-display); font-weight:600; font-size:1.0625rem; margin-bottom:12px; }
.dmx .dm-app[data-loading]{ min-height:720px; border-radius:20px; background:var(--nx-surface); border:1px solid var(--nx-line); }
.dmx .dm-noscript{ padding:24px; }

/* ─── botones ─── */
.dmx .dm-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; height:42px; padding:0 18px; border-radius:10px; border:1px solid transparent; background:transparent; font-weight:600; font-size:.9375rem; line-height:1; white-space:nowrap; text-decoration:none; transition:background .15s, border-color .15s, color .15s, transform .1s; }
.dmx .dm-btn:active:not(:disabled){ transform:translateY(1px); }
.dmx .dm-btn--primary{ background:var(--nx-blue); color:#fff; }
.dmx .dm-btn--primary:hover{ background:var(--nx-blue-d); }
.dmx .dm-btn--brand{ background:var(--dm-brand); color:var(--dm-on-brand); }
.dmx .dm-btn--brand:hover:not(:disabled){ background:var(--dm-brand-d); }
.dmx .dm-btn--ghost{ background:var(--nx-surface); border-color:var(--nx-line); color:var(--nx-ink); }
.dmx .dm-btn--ghost:hover:not(:disabled){ border-color:var(--nx-ink-3); }
.dmx .dm-btn--quiet{ color:var(--nx-ink-2); padding:0 12px; }
.dmx .dm-btn--quiet:hover{ background:rgba(11,27,51,.05); color:var(--nx-ink); }
.dmx .dm-btn--quiet[aria-pressed="true"]{ color:var(--nx-blue); background:var(--nx-blue-50); }
.dmx .dm-btn--sm{ height:34px; padding:0 12px; font-size:.8125rem; border-radius:8px; gap:6px; }
.dmx .dm-btn--xs{ height:28px; padding:0 10px; font-size:.75rem; border-radius:7px; gap:5px; }
.dmx .dm-btn--lg{ height:50px; padding:0 24px; font-size:1rem; border-radius:12px; }
.dmx .dm-btn:disabled{ opacity:.5; }
.dmx .dm-iconbtn{ width:28px; height:28px; border-radius:7px; border:0; background:transparent; color:var(--nx-ink-3); display:inline-flex; align-items:center; justify-content:center; }
.dmx .dm-iconbtn:hover{ background:var(--nx-lost-50); color:var(--nx-lost-text); }

/* ─── controles segmentados y chips ─── */
.dmx .dm-seg{ display:inline-flex; background:#E8ECF2; border-radius:10px; padding:3px; gap:2px; }
.dmx .dm-seg-i{ border:0; background:transparent; border-radius:7px; padding:5px 10px; font-size:.75rem; font-weight:600; color:var(--nx-ink-2); line-height:1.2; display:inline-flex; align-items:center; }
.dmx .dm-seg-i.is-on{ background:var(--nx-surface); color:var(--nx-ink); box-shadow:0 1px 2px rgba(11,27,51,.12); }
.dmx .dm-seg--lg .dm-seg-i{ padding:8px 14px; font-size:.875rem; }
.dmx .dm-chip{ display:inline-flex; align-items:center; gap:4px; height:22px; padding:0 9px; border-radius:999px; background:#EBEFF5; color:var(--nx-ink-2); font-size:.75rem; font-weight:600; white-space:nowrap; line-height:1; }
.dmx .dm-chip--xs{ height:19px; padding:0 7px; font-size:.6875rem; }
.dmx .dm-chip.is-brand{ background:var(--dm-brand-50); color:var(--dm-brand-text); }
.dmx .dm-chip.is-won{ background:var(--nx-won-50); color:var(--nx-won-text); }
.dmx .dm-chip.is-warn{ background:var(--nx-warn-50); color:var(--nx-warn-text); }
.dmx .dm-chip.is-lost{ background:var(--nx-lost-50); color:var(--nx-lost-text); }
.dmx .dm-chip.is-bot{ background:var(--nx-ink); color:#fff; }
.dmx .dm-chip--btn{ border:1px solid var(--nx-line); background:var(--nx-surface); height:30px; padding:0 12px; font-size:.8125rem; }
.dmx .dm-chip--btn.is-brand{ border-color:var(--dm-brand-300); }
.dmx .dm-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.dmx .dm-switch{ width:30px; height:18px; border-radius:999px; background:#C9D1DD; position:relative; display:inline-block; transition:background .2s; flex:none; }
.dmx .dm-switch i{ position:absolute; top:2px; left:2px; width:14px; height:14px; border-radius:50%; background:#fff; transition:transform .2s var(--nx-ease); box-shadow:0 1px 2px rgba(0,0,0,.2); }
.dmx .dm-switch.is-on{ background:var(--nx-won); }
.dmx .dm-switch.is-on i{ transform:translateX(12px); }

/* ─── avatares y marca ─── */
.dmx .dm-av{ display:inline-flex; align-items:center; justify-content:center; border-radius:50%; color:#fff; font-weight:600; flex:none; letter-spacing:.02em; font-family:var(--nx-text); }
.dmx .dm-mark{ display:inline-flex; align-items:center; justify-content:center; border-radius:8px; overflow:hidden; flex:none; background:var(--nx-surface); }
.dmx .dm-mark img{ width:100%; height:100%; object-fit:contain; }
.dmx .dm-mark.is-mono{ background:var(--dm-brand); color:var(--dm-on-brand); font-family:var(--nx-display); font-weight:700; letter-spacing:-.02em; }

/* ─── formularios ─── */
.dmx .dm-input{ height:36px; border:1px solid var(--nx-line); border-radius:8px; background:var(--nx-surface); padding:0 10px; font-size:.8125rem; color:var(--nx-ink); width:100%; min-width:0; }
.dmx .dm-input:focus{ border-color:var(--dm-brand); box-shadow:0 0 0 3px var(--dm-brand-100); }
.dmx .dm-input--sm{ height:32px; width:auto; }
.dmx .dm-input--num{ text-align:right; font-variant-numeric:tabular-nums; }
.dmx textarea.dm-input{ height:auto; padding:10px; line-height:1.5; resize:vertical; }
.dmx .dm-lbl{ display:block; font-size:.75rem; font-weight:600; color:var(--nx-ink-2); margin:12px 0 6px; }
.dmx .dm-form{ display:block; }
.dmx .dm-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:16px; }
.dmx .dm-field{ display:flex; flex-direction:column; gap:6px; font-size:.875rem; font-weight:600; color:var(--nx-ink); }
.dmx .dm-field--full{ grid-column:1/-1; }
.dmx .dm-field input, .dmx .dm-field select{ height:46px; border:1px solid var(--nx-line); border-radius:10px; padding:0 14px; background:var(--nx-surface); font-weight:400; font-size:1rem; color:var(--nx-ink); width:100%; }
.dmx .dm-field input:focus, .dmx .dm-field select:focus{ border-color:var(--nx-blue); box-shadow:0 0 0 3px var(--nx-blue-50); }
.dmx .dm-field input[aria-invalid="true"]{ border-color:var(--nx-lost); }
.dmx .dm-err{ color:var(--nx-lost-text); font-weight:500; font-size:.8125rem; }
.dmx .dm-check{ display:flex; gap:10px; align-items:flex-start; font-size:.875rem; color:var(--nx-ink-2); margin:10px 0; line-height:1.45; flex-wrap:wrap; }
.dmx .dm-check input{ width:20px; height:20px; margin:1px 0 0; flex:none; accent-color:var(--nx-blue); }
.dmx .dm-check span{ flex:1; min-width:200px; }
.dmx .dm-check .dm-err{ flex-basis:100%; padding-left:30px; }
.dmx .dm-legal{ font-size:.75rem; color:var(--nx-ink-3); margin:12px 0 18px; }
.dmx .dm-form-actions{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.dmx .dm-form-msg{ font-size:.875rem; color:var(--nx-ink-2); }
.dmx .dm-form-msg.is-err{ color:var(--nx-lost-text); }
.dmx .dm-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.dmx .dm-form-done{ padding:8px 0; }
.dmx .dm-form-done .dm-h3{ margin-top:12px; }
.dmx .dm-form-done p{ color:var(--nx-ink-2); margin-bottom:18px; max-width:52ch; }
.dmx .dm-form-done-ic{ width:44px; height:44px; border-radius:50%; background:var(--nx-won-50); color:var(--nx-won-text); display:inline-flex; align-items:center; justify-content:center; }

/* ─── diálogo ─── */
.dmx .dm-dialog{ border:0; padding:0; border-radius:18px; width:min(600px, calc(100vw - 24px)); max-height:calc(100vh - 32px); background:var(--nx-surface); color:var(--nx-ink); box-shadow:var(--nx-shadow-float); }
.dmx .dm-dialog::backdrop{ background:rgba(11,27,51,.55); }
.dmx .dm-dialog-in{ padding:30px 30px 26px; position:relative; }
.dmx .dm-dialog .dm-h3{ margin:0 0 8px; font-size:1.5rem; padding-right:36px; }
.dmx .dm-dialog-sub{ color:var(--nx-ink-2); margin-bottom:22px; }
.dmx .dm-dialog-x{ position:absolute; top:16px; right:16px; width:36px; height:36px; border-radius:10px; border:0; background:transparent; color:var(--nx-ink-2); display:inline-flex; align-items:center; justify-content:center; }
.dmx .dm-dialog-x:hover{ background:var(--nx-paper); }

/* ─── toasts ─── */
.dmx.dm-toasts{ position:fixed; z-index:2147483000; left:50%; bottom:24px; transform:translateX(-50%); display:flex; flex-direction:column; gap:8px; align-items:center; pointer-events:none; }
.dmx .dm-toast{ display:flex; gap:10px; align-items:center; background:var(--nx-ink); color:#fff; padding:11px 16px; border-radius:12px; font-size:.875rem; font-weight:500; box-shadow:var(--nx-shadow-float); animation:dm-in .25s var(--nx-ease); max-width:min(440px, calc(100vw - 32px)); font-family:var(--nx-text); }
.dmx .dm-toast.is-won .dm-ic{ color:#5BE0A6; }
.dmx .dm-toast.is-out{ opacity:0; transform:translateY(6px); transition:all .3s; }

/* ═══════════════════ ESCENARIO ═══════════════════ */
.dmx .dm-demo-app{ display:flex; flex-direction:column; gap:12px; }
.dmx .dm-toolbar{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.dmx .dm-toolbar-sp{ flex:1; }
.dmx .dm-stage{ --dm-focus:var(--dm-brand-text); position:relative; background:var(--nx-surface); border:1px solid var(--nx-line); border-radius:20px; overflow:clip; display:flex; flex-direction:column; }

/* banda: el reloj de la historia */
.dmx .dm-band{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:28px; align-items:center; padding:20px 24px 16px; background:var(--nx-surface); color:var(--nx-ink); transition:background .6s var(--nx-ease), color .6s var(--nx-ease); border-bottom:1px solid var(--nx-line); --dm-focus:var(--nx-blue); }
.dmx .dm-clock{ display:flex; align-items:center; gap:14px; min-width:190px; }
.dmx .dm-clock-ic{ width:40px; height:40px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--nx-warn-50); color:var(--nx-warn-text); transition:background .6s, color .6s; }
.dmx .dm-clock-tx{ display:flex; flex-direction:column; }
.dmx .dm-clock-day{ font-size:.75rem; color:var(--nx-ink-3); font-weight:600; min-height:1em; transition:color .6s; }
.dmx .dm-clock-t{ font-family:var(--nx-display); font-weight:500; font-size:2.6rem; line-height:1; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.dmx .dm-say{ min-width:0; }
.dmx .dm-say-meta{ display:flex; gap:10px; align-items:center; font-size:.75rem; color:var(--nx-ink-3); font-weight:600; margin-bottom:4px; transition:color .6s; }
.dmx .dm-say-tag{ display:inline-flex; align-items:center; height:20px; padding:0 8px; border-radius:999px; background:var(--nx-warn-50); color:var(--nx-warn-text); }
.dmx .dm-say-title{ font-family:var(--nx-display); font-weight:600; font-size:1.25rem; letter-spacing:-.01em; line-height:1.25; }
.dmx .dm-say-text{ color:var(--nx-ink-2); font-size:.9375rem; margin-top:2px; transition:color .6s; }
.dmx .dm-navs{ display:flex; gap:8px; align-items:center; }
.dmx .dm-navbtn{ width:44px; height:44px; border-radius:12px; border:1px solid var(--nx-line); background:transparent; color:inherit; display:inline-flex; align-items:center; justify-content:center; transition:background .15s, border-color .15s; }
.dmx .dm-navbtn:hover:not(:disabled){ border-color:var(--nx-ink-3); }
.dmx .dm-navbtn:disabled{ opacity:.35; }
.dmx .dm-btn--next{ height:44px; padding:0 16px 0 20px; border-radius:12px; background:var(--nx-blue); color:#fff; font-size:.9375rem; }
.dmx .dm-btn--next:hover{ background:var(--nx-blue-d); }
.dmx .dm-btn--next.is-cta{ padding:0 20px; }
.dmx .dm-btn--next.is-cta .dm-ic{ display:none; }
.dmx .dm-band.is-night{ background:var(--nx-ink); color:#fff; border-bottom-color:var(--nx-ink); --dm-focus:#9DB8FF; }
.dmx .dm-band.is-night .dm-clock-ic{ background:rgba(255,255,255,.1); color:#C7D6FF; }
.dmx .dm-band.is-night .dm-clock-day, .dmx .dm-band.is-night .dm-say-meta{ color:#97A6C0; }
.dmx .dm-band.is-night .dm-say-text{ color:#C2CCDC; }
.dmx .dm-band.is-night .dm-say-tag{ background:rgba(232,154,12,.18); color:#FFC864; }
.dmx .dm-band.is-night .dm-navbtn{ border-color:rgba(255,255,255,.22); }
.dmx .dm-band.is-night .dm-navbtn:hover:not(:disabled){ border-color:rgba(255,255,255,.5); }
.dmx .dm-band.is-night .dm-btn--next{ background:#fff; color:var(--nx-ink); }
.dmx .dm-band.is-night .dm-btn--next:hover{ background:#E6ECF7; }
.dmx .dm-stage.is-free .dm-clock-ic{ background:var(--nx-blue-50); color:var(--nx-blue); }
.dmx .dm-stage.is-free .dm-clock-t{ font-size:1.6rem; letter-spacing:-.02em; }

/* pasos (barra de progreso) */
.dmx .dm-steps{ display:flex; gap:6px; padding:0 24px; margin:0; background:inherit; }
.dmx .dm-steps li{ flex:1; min-width:0; }
.dmx .dm-step{ width:100%; border:0; background:transparent; padding:10px 0 8px; display:flex; flex-direction:column; gap:6px; align-items:flex-start; color:var(--nx-ink-3); }
.dmx .dm-step-fill{ display:block; width:100%; height:4px; border-radius:4px; background:var(--nx-line); transition:background .3s; }
.dmx .dm-step-t{ font-size:.6875rem; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.dmx .dm-step:hover .dm-step-fill{ background:#B8C3D3; }
.dmx .dm-step.is-done .dm-step-fill{ background:var(--nx-blue-d); opacity:.45; }
.dmx .dm-step.is-on .dm-step-fill{ background:var(--nx-blue); }
.dmx .dm-step.is-on{ color:var(--nx-ink); }
.dmx .dm-steps.is-free .dm-step-fill{ background:var(--nx-line); }

/* escena: dos dispositivos */
.dmx .dm-scene{ display:grid; grid-template-columns:332px minmax(0,1fr); gap:32px; padding:8px 28px 30px; background:radial-gradient(circle at 1px 1px, #DCE2EB 1px, transparent 1.2px) 0 0/22px 22px, #F7F9FC; border-top:1px solid var(--nx-line); align-items:start; }
.dmx .dm-dev{ min-width:0; transition:opacity .45s var(--nx-ease); }
.dmx .dm-dev.is-dim{ opacity:.58; }
.dmx .dm-dev.is-dim:hover, .dmx .dm-dev.is-dim:focus-within{ opacity:1; }
.dmx .dm-dev-cap{ display:flex; align-items:center; gap:6px; font-size:.75rem; font-weight:600; color:var(--nx-ink-3); margin:14px 0 12px; }
.dmx .dm-dev--phone .dm-dev-cap{ justify-content:center; }
.dmx .dm-devtabs{ display:none; }
.dmx .dm-instant *, .dmx .dm-instant *::before, .dmx .dm-instant *::after{ transition:none!important; animation:none!important; }

/* ═══════════════════ TELÉFONO ═══════════════════ */
.dmx .dm-phone{ width:316px; margin:0 auto; font-family:var(--nx-app); }
.dmx .dm-ph-frame{ position:relative; background:#0B1B33; border-radius:48px; padding:9px; box-shadow:var(--nx-shadow-float), inset 0 0 0 2px #22324D; }
.dmx .dm-ph-island{ position:absolute; top:19px; left:50%; width:92px; height:26px; margin-left:-46px; background:#05101F; border-radius:999px; z-index:5; }
.dmx .dm-ph-screen{ position:relative; height:640px; border-radius:40px; overflow:hidden; background:#fff; isolation:isolate; }
.dmx .dm-ph-status{ position:absolute; top:0; left:0; right:0; height:46px; padding:16px 26px 0 30px; display:flex; justify-content:space-between; align-items:center; z-index:4; font-weight:600; font-size:.875rem; color:#000; pointer-events:none; }
.dmx .dm-ph-status.is-light{ color:#fff; }
.dmx .dm-ph-time{ font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
.dmx .dm-ph-icons{ display:flex; gap:4px; align-items:center; }
.dmx .dm-ph-screens{ position:absolute; inset:0; }
.dmx .dm-ph-sc{ position:absolute; inset:0; padding-top:46px; display:flex; flex-direction:column; opacity:0; visibility:hidden; transition:opacity .3s, visibility 0s .3s; background:#fff; }
.dmx .dm-ph-sc.is-on{ opacity:1; visibility:visible; transition:opacity .3s; }
.dmx .dm-ph-sc > *{ flex:1; min-height:0; }
.dmx .dm-ph-home{ position:absolute; bottom:7px; left:50%; width:118px; height:5px; margin-left:-59px; border-radius:999px; background:rgba(0,0,0,.75); z-index:4; pointer-events:none; }
.dmx .dm-ph-banners{ position:absolute; top:50px; left:8px; right:8px; z-index:6; display:flex; flex-direction:column; gap:6px; pointer-events:none; }
.dmx .dm-ph-banner{ pointer-events:auto; display:flex; gap:10px; align-items:flex-start; text-align:left; width:100%; border:0; padding:11px 12px; border-radius:20px; background:rgba(246,247,250,.94); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 10px 30px rgba(11,27,51,.22); transform:translateY(-130%); opacity:0; transition:transform .45s var(--nx-ease), opacity .3s; font-size:.8125rem; line-height:1.35; color:#111; }
.dmx .dm-ph-banner.is-in{ transform:none; opacity:1; }
.dmx .dm-ph-banner-ic{ width:34px; height:34px; border-radius:9px; background:var(--nx-wa); color:#fff; display:inline-flex; align-items:center; justify-content:center; flex:none; }
.dmx .dm-ph-banner-ic.is-ig{ background:linear-gradient(135deg,#F58529,#DD2A7B 55%,#8134AF); }
.dmx .dm-ph-banner-ic.is-web{ background:var(--dm-brand); color:var(--dm-on-brand); }
.dmx .dm-ph-banner-tx{ display:flex; flex-direction:column; min-width:0; flex:1; }
.dmx .dm-ph-banner-top{ display:flex; justify-content:space-between; gap:8px; }
.dmx .dm-ph-banner-top small{ color:#777; font-size:.75rem; }
.dmx .dm-ph-banner-tx > span:last-child{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.dmx .dm-ph-web{ display:flex; flex-direction:column; height:100%; background:#fff; }
.dmx .dm-ph-url{ display:flex; align-items:center; justify-content:center; gap:5px; margin:4px 12px 8px; height:30px; border-radius:10px; background:#EEF0F4; font-size:.75rem; color:#333; flex:none; }
.dmx .dm-ph-web-body{ flex:1; overflow:auto; overscroll-behavior:contain; }

/* WhatsApp (cliente) */
.dmx .dm-wa{ display:flex; flex-direction:column; height:100%; background:#EFE9E1; }
.dmx .dm-wa-head{ display:flex; align-items:center; gap:8px; padding:6px 12px 10px 6px; background:#fff; border-bottom:1px solid #E6E6E6; flex:none; color:#111; }
.dmx .dm-wa-avatar{ border-radius:50%; }
.dmx .dm-wa-headtx{ display:flex; flex-direction:column; flex:1; min-width:0; line-height:1.2; }
.dmx .dm-wa-headtx strong{ font-size:.9375rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dmx .dm-wa-headtx small{ font-size:.6875rem; color:#667; }
.dmx .dm-wa-headic{ display:flex; gap:14px; color:#222; }
.dmx .dm-wa-body{ flex:1; overflow-y:auto; overscroll-behavior:contain; padding:10px 10px 12px; display:flex; flex-direction:column; gap:3px; background-color:#EFE9E1; background-image:radial-gradient(rgba(120,100,80,.09) 1.2px, transparent 1.4px), radial-gradient(rgba(120,100,80,.06) 1px, transparent 1.2px); background-size:26px 26px, 17px 17px; background-position:0 0, 9px 11px; scrollbar-width:thin; }
.dmx .dm-wa-sys{ display:flex; justify-content:center; margin:6px 0; }
.dmx .dm-wa-sys span{ background:#fff; color:#556; font-size:.6875rem; padding:4px 10px; border-radius:8px; box-shadow:0 1px .5px rgba(0,0,0,.08); font-weight:500; }
.dmx .dm-wa-sys.is-note span{ background:#FFF5C4; color:#5A5130; max-width:86%; text-align:center; font-weight:400; }
.dmx .dm-wa-row{ display:flex; flex-direction:column; max-width:84%; margin-top:4px; }
.dmx .dm-wa-row.is-mine{ align-self:flex-end; align-items:flex-end; }
.dmx .dm-wa-row.is-theirs{ align-self:flex-start; align-items:flex-start; }
.dmx .dm-wa-row.is-wide{ max-width:100%; }
.dmx .dm-wa-row.is-new{ animation:dm-pop .32s var(--nx-ease); }
.dmx .dm-wa-bubble{ position:relative; background:#fff; color:#111; border-radius:10px; padding:6px 8px 4px 9px; box-shadow:0 1px .5px rgba(0,0,0,.13); font-size:.875rem; line-height:1.38; min-width:72px; max-width:100%; }
.dmx .dm-wa-row.is-mine .dm-wa-bubble{ background:#D9FDD3; }
.dmx .dm-wa-text{ white-space:pre-wrap; word-wrap:break-word; }
.dmx .dm-wa-title{ display:block; margin-bottom:2px; }
.dmx .dm-wa-footer{ display:block; color:#667; font-size:.75rem; margin-top:4px; }
.dmx .dm-wa-meta{ display:flex; justify-content:flex-end; align-items:center; gap:3px; font-size:.6875rem; color:#5B6B74; margin-top:1px; line-height:1; float:right; margin-left:10px; position:relative; top:5px; }
.dmx .dm-wa-bubble::after{ content:''; display:block; clear:both; }
.dmx .dm-ticks{ color:#8696A0; display:inline-flex; }
.dmx .dm-ticks.is-read{ color:#53BDEB; }
.dmx .dm-wa-who{ display:inline-flex; align-items:center; gap:4px; font-size:.6875rem; font-weight:700; color:var(--dm-brand-text); margin-bottom:2px; }
.dmx .dm-wa-who.is-bot{ color:#6B4FA0; }
.dmx .dm-wa-btns{ display:flex; flex-direction:column; gap:2px; margin-top:2px; width:100%; min-width:220px; }
.dmx .dm-wa-btn{ border:0; background:#fff; color:#027EB5; font-weight:600; font-size:.8125rem; padding:9px 10px; border-radius:9px; box-shadow:0 1px .5px rgba(0,0,0,.13); display:flex; gap:6px; align-items:center; justify-content:center; font-family:var(--nx-app); }
.dmx .dm-wa-btn:hover{ background:#F6F9FB; }
.dmx .dm-wa-btn.is-picked{ background:#E7F6FD; }
.dmx .dm-wa-row.is-mine .dm-wa-btns{ align-items:flex-end; }
.dmx .dm-wa-typing{ display:flex; gap:4px; align-items:center; padding:12px 14px; min-width:0; }
.dmx .dm-wa-typing i{ width:7px; height:7px; border-radius:50%; background:#9AA6AE; animation:dm-dot 1.2s infinite ease-in-out; }
.dmx .dm-wa-typing i:nth-child(2){ animation-delay:.15s; } .dmx .dm-wa-typing i:nth-child(3){ animation-delay:.3s; }
.dmx .dm-wa-doc{ display:flex; gap:10px; align-items:center; background:rgba(0,0,0,.04); border-radius:8px; padding:9px 10px; margin-bottom:4px; min-width:200px; }
.dmx .dm-wa-doc-ic{ width:30px; height:36px; border-radius:4px; background:#E5483D; color:#fff; font-size:.5625rem; font-weight:800; display:flex; align-items:flex-end; justify-content:center; padding-bottom:5px; flex:none; }
.dmx .dm-wa-doc-tx{ display:flex; flex-direction:column; min-width:0; }
.dmx .dm-wa-doc-tx strong{ font-size:.8125rem; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:170px; }
.dmx .dm-wa-doc-tx small{ font-size:.6875rem; color:#667; }
.dmx .dm-wa-cards{ display:flex; gap:8px; overflow-x:auto; padding:6px 0 4px; scroll-snap-type:x mandatory; max-width:258px; scrollbar-width:none; }
.dmx .dm-wa-card{ flex:0 0 172px; scroll-snap-align:start; background:#fff; border:1px solid #E6E6E6; border-radius:10px; overflow:hidden; display:flex; flex-direction:column; }
.dmx .dm-wa-card-tx{ padding:8px 9px 6px; display:flex; flex-direction:column; gap:1px; }
.dmx .dm-wa-card-tx strong{ font-size:.8125rem; line-height:1.25; }
.dmx .dm-wa-card-tx small{ font-size:.6875rem; color:#667; }
.dmx .dm-wa-card-price{ font-weight:700; font-size:.8125rem; color:#111; margin-top:2px; }
.dmx .dm-wa-card-btn{ border-top:1px solid #EEE; text-align:center; padding:7px; color:#027EB5; font-weight:600; font-size:.75rem; }
.dmx .dm-wa-compose{ display:flex; gap:6px; align-items:center; padding:6px 8px 22px; background:#F5F2EE; flex:none; }
.dmx .dm-wa-field{ flex:1; display:flex; align-items:center; gap:6px; background:#fff; border-radius:999px; padding:0 12px; height:38px; color:#6B7680; min-width:0; }
.dmx .dm-wa-input{ flex:1; border:0; background:transparent; height:100%; font-size:.875rem; min-width:0; font-family:var(--nx-app); color:#111; }
.dmx .dm-wa-input:focus{ outline:none; }
.dmx .dm-wa-field:focus-within{ box-shadow:0 0 0 2px var(--nx-wa); }
.dmx .dm-wa-send{ width:38px; height:38px; border-radius:50%; border:0; background:var(--nx-wa); color:#fff; display:inline-flex; align-items:center; justify-content:center; flex:none; }
.dmx .dm-wa-send:disabled{ opacity:1; background:#9CCBAE; }

/* ═══════════════════ NAVEGADOR + CRM ═══════════════════ */
.dmx .dm-browser{ container:dmb / inline-size; background:var(--nx-surface); border-radius:14px; border:1px solid #CDD5E1; box-shadow:var(--nx-shadow-float); overflow:hidden; height:658px; display:flex; flex-direction:column; }
.dmx .dm-br-bar{ height:40px; display:flex; align-items:center; gap:12px; padding:0 14px; background:#EEF1F5; border-bottom:1px solid var(--nx-line); flex:none; }
.dmx .dm-br-dots{ display:flex; gap:7px; }
.dmx .dm-br-dots i{ width:11px; height:11px; border-radius:50%; background:#D5DBE4; display:block; }
.dmx .dm-br-url{ flex:0 1 380px; margin:0 auto; height:26px; border-radius:8px; background:#fff; display:flex; align-items:center; justify-content:center; gap:6px; font-size:.75rem; color:var(--nx-ink-2); border:1px solid var(--nx-line); white-space:nowrap; overflow:hidden; padding:0 10px; }
.dmx .dm-br-sp{ width:47px; }
.dmx .dm-shell{ flex:1; min-height:0; display:grid; grid-template-columns:200px minmax(0,1fr); }
.dmx .dm-side{ background:#F7F8FB; border-right:1px solid var(--nx-line); display:flex; flex-direction:column; padding:12px 10px; gap:14px; min-height:0; }
.dmx .dm-side-ws{ display:flex; align-items:center; gap:9px; padding:4px 6px 10px; border-bottom:1px solid var(--nx-line); }
.dmx .dm-side-wstx{ display:flex; flex-direction:column; min-width:0; line-height:1.2; }
.dmx .dm-side-wstx strong{ font-size:.8125rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dmx .dm-side-wstx small{ font-size:.6875rem; color:var(--nx-ink-3); }
.dmx .dm-side-nav{ display:flex; flex-direction:column; gap:2px; flex:1; overflow:auto; }
.dmx .dm-side-i{ display:flex; align-items:center; gap:10px; height:34px; padding:0 10px; border:0; border-radius:8px; background:transparent; color:var(--nx-ink-2); font-size:.8125rem; font-weight:500; text-align:left; width:100%; }
.dmx .dm-side-i:hover{ background:#ECEFF4; color:var(--nx-ink); }
.dmx .dm-side-i.is-on{ background:var(--dm-brand-50); color:var(--dm-brand-text); font-weight:600; }
.dmx .dm-side-lbl{ flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dmx .dm-side-badge{ min-width:20px; height:18px; border-radius:999px; background:var(--dm-brand); color:var(--dm-on-brand); font-size:.6875rem; font-weight:700; display:inline-flex; align-items:center; justify-content:center; padding:0 6px; }
.dmx .dm-side-me{ display:flex; gap:8px; align-items:center; padding:10px 6px 2px; border-top:1px solid var(--nx-line); }
.dmx .dm-side-me span{ display:flex; flex-direction:column; line-height:1.2; min-width:0; }
.dmx .dm-side-me strong{ font-size:.75rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dmx .dm-side-me small{ font-size:.6875rem; color:var(--nx-ink-3); }
.dmx .dm-main{ container:dmm / inline-size; position:relative; display:flex; flex-direction:column; min-width:0; min-height:0; }
.dmx .dm-top{ height:54px; display:flex; align-items:center; gap:14px; padding:0 18px; border-bottom:1px solid var(--nx-line); flex:none; }
.dmx .dm-top-title{ font-family:var(--nx-display); font-size:1.0625rem; font-weight:600; letter-spacing:-.01em; flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dmx .dm-top-search{ display:flex; align-items:center; gap:8px; height:32px; padding:0 8px 0 10px; border-radius:8px; background:var(--nx-paper); color:var(--nx-ink-3); font-size:.75rem; width:220px; white-space:nowrap; }
.dmx .dm-top-search span{ flex:1; overflow:hidden; text-overflow:ellipsis; }
.dmx .dm-top-search kbd{ font-family:var(--nx-text); font-size:.625rem; border:1px solid var(--nx-line); border-radius:5px; padding:2px 5px; background:#fff; color:var(--nx-ink-3); }
.dmx .dm-bell{ position:relative; color:var(--nx-ink-2); display:inline-flex; }
.dmx .dm-bell-n{ position:absolute; top:-6px; right:-7px; min-width:16px; height:16px; border-radius:999px; background:var(--nx-lost); color:#fff; font-size:.625rem; font-weight:700; display:inline-flex; align-items:center; justify-content:center; padding:0 4px; border:2px solid #fff; }
.dmx .dm-views{ flex:1; min-height:0; position:relative; }
.dmx .dm-view{ position:absolute; inset:0; overflow:auto; padding:18px; display:none; scrollbar-width:thin; overscroll-behavior:contain; }
.dmx .dm-view.is-on{ display:block; animation:dm-fade .25s var(--nx-ease); }
.dmx .dm-view[data-view="inbox"]{ padding:0; }
.dmx .dm-notifs{ position:absolute; top:62px; right:14px; width:300px; display:flex; flex-direction:column; gap:8px; z-index:5; pointer-events:none; }
.dmx .dm-notif{ display:flex; gap:10px; align-items:flex-start; background:var(--nx-surface); border:1px solid var(--nx-line); border-radius:12px; padding:11px 12px; box-shadow:0 14px 34px -12px rgba(11,27,51,.3); pointer-events:auto; transition:opacity .35s, transform .35s; }
.dmx .dm-notif.is-out{ opacity:0; transform:translateX(12px); }
.dmx .dm-notif-ic{ width:30px; height:30px; border-radius:8px; background:var(--dm-brand-50); color:var(--dm-brand-text); display:inline-flex; align-items:center; justify-content:center; flex:none; }
.dmx .dm-notif.is-won .dm-notif-ic{ background:var(--nx-won-50); color:var(--nx-won-text); }
.dmx .dm-notif.is-warn .dm-notif-ic{ background:var(--nx-warn-50); color:var(--nx-warn-text); }
.dmx .dm-notif.is-wa .dm-notif-ic{ background:#E2F6EA; color:#148142; }
.dmx .dm-notif-tx{ display:flex; flex-direction:column; min-width:0; font-size:.8125rem; line-height:1.35; }
.dmx .dm-notif-tx small{ color:var(--nx-ink-2); font-size:.75rem; }

/* bandeja */
.dmx .dm-ib{ display:grid; grid-template-columns:232px minmax(0,1fr) 220px; height:100%; }
.dmx .dm-ib-col1{ border-right:1px solid var(--nx-line); display:flex; flex-direction:column; min-height:0; }
.dmx .dm-ib-search{ display:flex; gap:8px; align-items:center; margin:12px 12px 8px; height:32px; border-radius:8px; background:var(--nx-paper); padding:0 10px; font-size:.75rem; color:var(--nx-ink-3); }
.dmx .dm-ib-filters{ display:flex; gap:4px; padding:0 12px 8px; }
.dmx .dm-ib-filters .dm-seg-i{ background:var(--nx-paper); font-size:.6875rem; padding:4px 8px; }
.dmx .dm-ib-filters .dm-seg-i.is-on{ background:var(--dm-brand-50); color:var(--dm-brand-text); box-shadow:none; }
.dmx .dm-ib-list{ overflow:auto; flex:1; }
.dmx .dm-ib-th{ display:flex; gap:10px; align-items:center; padding:10px 12px; border-left:3px solid transparent; }
.dmx .dm-ib-th.is-on{ background:var(--dm-brand-50); border-left-color:var(--dm-brand); }
.dmx .dm-ib-thtx{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.dmx .dm-ib-thtop{ display:flex; justify-content:space-between; gap:6px; }
.dmx .dm-ib-thtop strong{ font-size:.8125rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dmx .dm-ib-thtop small{ font-size:.6875rem; color:var(--nx-ink-3); flex:none; }
.dmx .dm-ib-thprev{ display:flex; gap:5px; align-items:center; font-size:.75rem; color:var(--nx-ink-2); min-width:0; }
.dmx .dm-ib-thprev .dm-chip{ height:16px; font-size:.625rem; padding:0 5px; }
.dmx .dm-ib-thprevtx{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dmx .dm-ib-unread{ min-width:18px; height:18px; border-radius:999px; background:var(--nx-wa); color:#fff; font-size:.625rem; font-weight:700; display:inline-flex; align-items:center; justify-content:center; }
.dmx .dm-ib-col2{ display:flex; flex-direction:column; min-width:0; min-height:0; }
.dmx .dm-ib-head{ display:flex; align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid var(--nx-line); }
.dmx .dm-ib-headtx{ display:flex; flex-direction:column; line-height:1.25; flex:1; min-width:0; }
.dmx .dm-ib-headtx strong{ font-size:.875rem; }
.dmx .dm-ib-headtx small{ font-size:.75rem; color:var(--nx-ink-3); }
.dmx .dm-ib-headr{ display:flex; gap:10px; align-items:center; font-size:.75rem; color:var(--nx-ink-2); }
.dmx .dm-ib-bot{ display:inline-flex; align-items:center; gap:6px; font-weight:600; }
.dmx .dm-ib-agent{ border:1px dashed var(--nx-line); border-radius:999px; padding:3px 9px; }
.dmx .dm-ib-agent.is-on{ border-style:solid; background:var(--dm-brand-50); color:var(--dm-brand-text); border-color:transparent; font-weight:600; }
.dmx .dm-ib-body{ background:#F5F2EC; }
.dmx .dm-ib-body .dm-wa-row.is-mine .dm-wa-bubble{ background:#E4EEFF; background:var(--dm-brand-50); }
.dmx .dm-ib-compose{ display:flex; gap:6px; padding:10px; border-top:1px solid var(--nx-line); }
.dmx .dm-ib-input{ flex:1; height:34px; border:1px solid var(--nx-line); border-radius:8px; padding:0 10px; font-size:.8125rem; min-width:0; }
.dmx .dm-ib-input:focus{ border-color:var(--dm-brand); }
.dmx .dm-ib-input:disabled{ background:var(--nx-paper); }
.dmx .dm-ib-col3{ border-left:1px solid var(--nx-line); padding:16px 14px; display:flex; flex-direction:column; gap:14px; overflow:auto; }
.dmx .dm-ib-card{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px; }
.dmx .dm-ib-card strong{ font-size:.875rem; margin-top:4px; }
.dmx .dm-ib-card small{ font-size:.75rem; color:var(--nx-ink-3); }
.dmx .dm-ai-box{ border-radius:12px; background:#F4F1FB; padding:11px 12px; font-size:.8125rem; line-height:1.45; }
.dmx .dm-ai-box-h{ display:flex; gap:5px; align-items:center; font-weight:700; color:#5A3FA0; font-size:.75rem; margin-bottom:4px; }
.dmx .dm-ai-box-tx{ color:var(--nx-ink); }
.dmx .dm-ib-extra{ display:flex; flex-direction:column; gap:10px; }

/* kanban */
.dmx .dm-kb-wrap{ position:relative; }
.dmx .dm-kb{ display:flex; gap:10px; align-items:stretch; overflow-x:auto; padding-bottom:6px; scrollbar-width:thin; }
.dmx .dm-kb-col{ flex:1 0 140px; min-width:140px; background:#F2F4F8; border-radius:12px; padding:8px; display:flex; flex-direction:column; gap:8px; border:1.5px solid transparent; transition:border-color .15s, background .15s; }
.dmx .dm-kb-col.is-over{ border-color:var(--dm-brand-300); background:var(--dm-brand-50); }
.dmx .dm-kb-head{ display:flex; align-items:center; gap:4px 6px; padding:2px 4px; font-size:.75rem; flex-wrap:wrap; }
.dmx .dm-kb-head strong{ font-weight:600; }
.dmx .dm-kb-dot{ width:8px; height:8px; border-radius:50%; background:#A3AFC2; flex:none; }
.dmx .dm-kb-col.is-brand .dm-kb-dot{ background:var(--dm-brand); }
.dmx .dm-kb-col.is-warn .dm-kb-dot{ background:var(--nx-warn); }
.dmx .dm-kb-col.is-won .dm-kb-dot{ background:var(--nx-won); }
.dmx .dm-kb-col.is-lost .dm-kb-dot{ background:var(--nx-lost); }
.dmx .dm-kb-count{ color:var(--nx-ink-3); font-weight:600; }
.dmx .dm-kb-sum{ flex-basis:100%; padding-left:14px; color:var(--nx-ink-2); font-variant-numeric:tabular-nums; font-size:.6875rem; font-weight:600; min-height:1em; }
.dmx .dm-kb-list{ display:flex; flex-direction:column; gap:7px; min-height:90px; flex:1; }
.dmx .dm-kc{ background:var(--nx-surface); border:1px solid #E1E6EE; border-radius:10px; padding:9px 10px 8px; display:flex; flex-direction:column; gap:5px; cursor:grab; user-select:none; -webkit-user-select:none; position:relative; transition:border-color .15s, box-shadow .15s; }
.dmx .dm-kc:hover{ border-color:#BAC4D3; }
.dmx .dm-kc.is-hot::before{ content:''; position:absolute; left:-1px; top:10px; bottom:10px; width:3px; border-radius:0 3px 3px 0; background:var(--nx-warn); }
.dmx .dm-kc.is-won::before{ content:''; position:absolute; left:-1px; top:10px; bottom:10px; width:3px; border-radius:0 3px 3px 0; background:var(--nx-won); }
.dmx .dm-kc.is-lost::before{ content:''; position:absolute; left:-1px; top:10px; bottom:10px; width:3px; border-radius:0 3px 3px 0; background:var(--nx-lost); }
.dmx .dm-kc.is-dragging{ opacity:.35; }
.dmx .dm-kc.is-grabbed{ box-shadow:0 0 0 2px var(--dm-brand); }
.dmx .dm-kc-ghost{ position:fixed; left:0; top:0; z-index:2147483000; pointer-events:none; box-shadow:0 18px 40px -10px rgba(11,27,51,.35); cursor:grabbing; }
.dmx .dm-kc-top{ display:flex; align-items:center; gap:7px; }
.dmx .dm-kc-title{ font-size:.8125rem; font-weight:600; flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dmx .dm-kc-grip{ color:#B3BDCC; touch-action:none; display:inline-flex; margin-right:-4px; }
.dmx .dm-kc-sub{ font-size:.75rem; color:var(--nx-ink-2); line-height:1.35; }
.dmx .dm-kc-foot{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.dmx .dm-kc-val{ font-size:.75rem; font-weight:700; font-variant-numeric:tabular-nums; }
.dmx .dm-kc-tags{ display:flex; gap:4px; flex-wrap:wrap; }
.dmx .dm-kc-meta{ margin-left:auto; font-size:.6875rem; color:var(--nx-ink-3); }
body.dm-dragging{ cursor:grabbing; user-select:none; -webkit-user-select:none; }

/* ficha */
.dmx .dm-lf-head{ display:flex; gap:14px; align-items:center; margin-bottom:16px; flex-wrap:wrap; }
.dmx .dm-lf-id{ flex:1; min-width:160px; }
.dmx .dm-lf-name{ font-family:var(--nx-display); font-size:1.25rem; font-weight:600; letter-spacing:-.01em; }
.dmx .dm-lf-sub{ font-size:.8125rem; color:var(--nx-ink-2); }
.dmx .dm-lf-badges{ display:flex; gap:8px; align-items:center; }
.dmx .dm-score{ display:inline-flex; align-items:center; gap:6px; height:26px; padding:0 10px 0 4px; border-radius:999px; background:#EBEFF5; font-size:.75rem; font-weight:600; color:var(--nx-ink-2); }
.dmx .dm-score:empty{ display:none; }
.dmx .dm-score b{ background:#fff; border-radius:999px; padding:2px 7px; font-variant-numeric:tabular-nums; }
.dmx .dm-score.is-warn{ background:var(--nx-warn-50); color:var(--nx-warn-text); }
.dmx .dm-score.is-brand{ background:var(--dm-brand-50); color:var(--dm-brand-text); }
.dmx .dm-lf-grid{ display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:22px; }
.dmx .dm-kv{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1px; background:var(--nx-line); border:1px solid var(--nx-line); border-radius:12px; overflow:hidden; }
.dmx .dm-kv-row{ background:var(--nx-surface); padding:9px 12px; }
.dmx .dm-kv dt{ font-size:.6875rem; color:var(--nx-ink-3); font-weight:600; }
.dmx .dm-kv dd{ font-size:.8125rem; font-weight:500; margin-top:1px; }
.dmx .dm-lf-sections{ display:flex; flex-direction:column; gap:16px; margin-top:16px; }
.dmx .dm-mini-h{ font-size:.75rem; font-weight:700; color:var(--nx-ink-2); margin-bottom:8px; }
.dmx .dm-tl{ position:relative; display:flex; flex-direction:column; gap:12px; }
.dmx .dm-tl::before{ content:''; position:absolute; left:12px; top:6px; bottom:6px; width:1px; background:var(--nx-line); }
.dmx .dm-tl-i{ display:flex; gap:10px; position:relative; }
.dmx .dm-tl-ic{ width:25px; height:25px; border-radius:50%; background:var(--nx-surface); border:1px solid var(--nx-line); color:var(--nx-ink-2); display:inline-flex; align-items:center; justify-content:center; flex:none; z-index:1; }
.dmx .dm-tl-i.is-brand .dm-tl-ic{ background:var(--dm-brand-50); color:var(--dm-brand-text); border-color:var(--dm-brand-100); }
.dmx .dm-tl-i.is-won .dm-tl-ic{ background:var(--nx-won-50); color:var(--nx-won-text); border-color:#BFEBD5; }
.dmx .dm-tl-i.is-warn .dm-tl-ic{ background:var(--nx-warn-50); color:var(--nx-warn-text); border-color:#F6DDA8; }
.dmx .dm-tl-i.is-bot .dm-tl-ic{ background:#F4F1FB; color:#5A3FA0; border-color:#E2DAF6; }
.dmx .dm-tl-tx p{ font-size:.8125rem; line-height:1.4; }
.dmx .dm-tl-tx small{ font-size:.6875rem; color:var(--nx-ink-3); }

/* tabla */
.dmx .dm-table-wrap{ border:1px solid var(--nx-line); border-radius:12px; overflow:auto; background:var(--nx-surface); }
.dmx .dm-table{ width:100%; border-collapse:collapse; font-size:.8125rem; }
.dmx .dm-table th{ text-align:left; font-size:.6875rem; font-weight:600; color:var(--nx-ink-3); padding:9px 12px; border-bottom:1px solid var(--nx-line); background:#FAFBFC; white-space:nowrap; }
.dmx .dm-table td{ padding:9px 12px; border-bottom:1px solid #EEF1F5; vertical-align:middle; white-space:nowrap; }
.dmx .dm-table tr:last-child td{ border-bottom:0; }
.dmx .dm-table .is-r{ text-align:right; font-variant-numeric:tabular-nums; }
.dmx .dm-table .is-c{ text-align:center; }

/* cotizador */
.dmx .dm-q{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:18px; align-items:start; }
.dmx .dm-q-left{ display:flex; flex-direction:column; gap:12px; min-width:0; }
.dmx .dm-q-editor{ border:1px solid var(--nx-line); border-radius:14px; padding:14px; background:var(--nx-surface); }
.dmx .dm-q-top{ display:flex; justify-content:space-between; gap:10px; align-items:flex-start; margin-bottom:12px; flex-wrap:wrap; }
.dmx .dm-q-kicker{ font-size:.6875rem; color:var(--nx-ink-3); font-weight:600; }
.dmx .dm-q-title{ font-family:var(--nx-display); font-size:1.0625rem; font-weight:600; }
.dmx .dm-q-client{ display:inline-flex; gap:7px; align-items:center; font-size:.75rem; color:var(--nx-ink-2); background:var(--nx-paper); border-radius:999px; padding:3px 10px 3px 3px; }
.dmx .dm-q-head{ display:none; }
.dmx .dm-q-rows{ display:flex; flex-direction:column; gap:8px; }
.dmx .dm-q-row{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) auto; grid-template-areas:"p v d" "q u t"; gap:6px 8px; padding:10px; border:1px solid #E6EAF0; border-radius:10px; background:#FBFCFD; align-items:center; }
.dmx .dm-q-row > :nth-child(1){ grid-area:p; }
.dmx .dm-q-row > :nth-child(2){ grid-area:v; }
.dmx .dm-q-row > :nth-child(3){ grid-area:q; max-width:110px; }
.dmx .dm-q-row > :nth-child(4){ grid-area:u; }
.dmx .dm-q-row > :nth-child(5){ grid-area:t; text-align:right; font-weight:700; font-size:.8125rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.dmx .dm-q-row > :nth-child(6){ grid-area:d; justify-self:end; }
.dmx .dm-q-unit{ display:flex; flex-direction:column; font-size:.75rem; font-variant-numeric:tabular-nums; line-height:1.25; }
.dmx .dm-q-tier{ color:var(--dm-brand-text); font-weight:600; font-size:.6875rem; }
.dmx .dm-q-novar{ color:var(--nx-ink-3); font-size:.75rem; padding-left:4px; }
.dmx .dm-q-editor.is-age .dm-q-row{ grid-template-columns:minmax(0,1fr) 64px 28px; grid-template-areas:"w a d" "p t t"; }
.dmx .dm-q-editor.is-age .dm-q-row > :nth-child(1){ grid-area:w; }
.dmx .dm-q-editor.is-age .dm-q-row > :nth-child(2){ grid-area:a; }
.dmx .dm-q-editor.is-age .dm-q-row > :nth-child(3){ grid-area:p; }
.dmx .dm-q-editor.is-age .dm-q-row > :nth-child(4){ grid-area:t; text-align:right; }
.dmx .dm-q-editor.is-age .dm-q-row > :nth-child(5){ grid-area:d; }
.dmx .dm-q-unitwrap{ display:flex; flex-direction:column; align-items:flex-end; font-size:.8125rem; font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap; }
.dmx .dm-q-unitwrap small{ font-weight:500; color:var(--nx-ink-3); font-size:.6875rem; }
.dmx .dm-q-addrow{ display:flex; justify-content:space-between; align-items:center; gap:8px; margin:10px 0 6px; flex-wrap:wrap; }
.dmx .dm-q-disc{ display:inline-flex; align-items:center; gap:8px; font-size:.75rem; color:var(--nx-ink-2); font-weight:600; }
.dmx .dm-q-totals{ border-top:1px solid var(--nx-line); padding-top:8px; display:flex; flex-direction:column; gap:3px; }
.dmx .dm-q-trow{ display:flex; justify-content:space-between; font-size:.8125rem; color:var(--nx-ink-2); font-variant-numeric:tabular-nums; }
.dmx .dm-q-trow.is-total{ color:var(--nx-ink); font-weight:700; font-size:1rem; margin-top:4px; }
.dmx .dm-q-trow.is-total dd{ font-family:var(--nx-display); font-size:1.25rem; letter-spacing:-.01em; }
.dmx .dm-q-actions{ display:flex; gap:8px; flex-wrap:wrap; }
.dmx .dm-q-actions:empty{ display:none; }
.dmx .dm-q-preview{ border-radius:14px; background:#E9EDF3; padding:12px; min-width:0; position:sticky; top:0; }
.dmx .dm-q-prevhead{ display:flex; justify-content:space-between; align-items:center; font-size:.75rem; color:var(--nx-ink-2); font-weight:600; margin-bottom:10px; }
.dmx .dm-q-prevhead span{ display:inline-flex; gap:6px; align-items:center; }
.dmx .dm-q-prevhead small{ color:var(--nx-ink-3); font-weight:500; }
.dmx .dm-doc-fit{ position:relative; overflow:hidden; }
.dmx .dm-doc-fit > .dm-doc{ position:absolute; top:0; left:0; transform-origin:0 0; box-shadow:0 10px 30px -12px rgba(11,27,51,.35); }

/* documento (propuesta) */
.dmx .dm-doc{ width:595px; min-height:760px; background:#fff; color:#18243A; font-family:var(--nx-text); font-size:11px; line-height:1.45; padding:0 40px 30px; position:relative; display:flex; flex-direction:column; }
.dmx .dm-doc-bar{ height:7px; margin:0 -40px 26px; background:var(--dm-brand); }
.dmx .dm-doc-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:22px; }
.dmx .dm-doc-brand{ display:flex; gap:10px; align-items:center; }
.dmx .dm-doc-brand span{ display:flex; flex-direction:column; line-height:1.25; }
.dmx .dm-doc-brand strong{ font-family:var(--nx-display); font-size:14px; }
.dmx .dm-doc-brand small{ color:#68758A; font-size:10px; }
.dmx .dm-doc-meta{ display:flex; flex-direction:column; align-items:flex-end; text-align:right; line-height:1.35; }
.dmx .dm-doc-meta strong{ font-family:var(--nx-display); font-size:20px; letter-spacing:-.02em; color:var(--dm-brand-text); }
.dmx .dm-doc-meta small{ color:#68758A; font-size:10px; }
.dmx .dm-doc-stamp{ position:absolute; top:84px; right:40px; font-size:10px; font-weight:700; padding:3px 9px; border-radius:999px; border:1.5px solid currentColor; color:#7A879C; }
.dmx .dm-doc-stamp.is-brand{ color:var(--dm-brand-text); }
.dmx .dm-doc-stamp.is-warn{ color:var(--nx-warn-text); }
.dmx .dm-doc-stamp.is-won{ color:var(--nx-won-text); }
.dmx .dm-doc-stamp.is-lost{ color:var(--nx-lost-text); }
.dmx .dm-doc-to{ display:flex; flex-direction:column; margin-bottom:12px; }
.dmx .dm-doc-to small{ color:#68758A; font-size:9.5px; font-weight:600; }
.dmx .dm-doc-to strong{ font-size:13px; }
.dmx .dm-doc-intro{ color:#42516B; margin-bottom:14px; max-width:58ch; }
.dmx .dm-doc-table{ width:100%; border-collapse:collapse; margin-bottom:10px; }
.dmx .dm-doc-table th{ text-align:left; font-size:9.5px; color:#68758A; font-weight:600; border-bottom:1.5px solid #18243A; padding:6px 4px; }
.dmx .dm-doc-table td{ padding:7px 4px; border-bottom:1px solid #E5E9F0; vertical-align:top; }
.dmx .dm-doc-table td small{ display:block; color:#68758A; font-size:9.5px; }
.dmx .dm-doc-table .is-r{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.dmx .dm-doc-tots{ align-self:flex-end; width:230px; display:flex; flex-direction:column; gap:3px; margin-bottom:16px; }
.dmx .dm-doc-tots div{ display:flex; justify-content:space-between; font-variant-numeric:tabular-nums; color:#42516B; }
.dmx .dm-doc-tots .is-total{ border-top:1.5px solid #18243A; padding-top:6px; margin-top:3px; color:#18243A; font-weight:700; font-size:13px; }
.dmx .dm-doc-notes{ list-style:disc; padding-left:14px; color:#42516B; font-size:10px; margin-bottom:16px; display:flex; flex-direction:column; gap:2px; }
.dmx .dm-doc-sign{ margin-top:auto; width:220px; display:flex; flex-direction:column; gap:4px; }
.dmx .dm-doc-signline{ height:44px; border-bottom:1px solid #18243A; }
.dmx .dm-doc-sign small{ color:#68758A; font-size:9.5px; }
.dmx .dm-doc-sign img{ height:48px; width:auto; object-fit:contain; object-position:left; border-bottom:1px solid #18243A; }
.dmx .dm-doc-sign.is-signed small{ color:var(--nx-won-text); font-weight:600; }
.dmx .dm-doc-foot{ display:flex; justify-content:space-between; margin-top:20px; padding-top:10px; border-top:1px solid #E5E9F0; color:#8A96A8; font-size:9px; }
.dmx .dm-doc--m{ width:auto; min-height:0; font-size:12.5px; padding:0 16px 18px; box-shadow:none; }
.dmx .dm-doc--m .dm-doc-bar{ margin:0 -16px 16px; }
.dmx .dm-doc--m .dm-doc-head{ flex-direction:column; gap:10px; margin-bottom:12px; }
.dmx .dm-doc--m .dm-doc-meta{ align-items:flex-start; text-align:left; }
.dmx .dm-doc--m .dm-doc-stamp{ position:static; align-self:flex-start; margin:-4px 0 10px; }
.dmx .dm-doc--m .dm-doc-tots{ width:100%; }
.dmx .dm-doc--m .dm-doc-table th:nth-child(3), .dmx .dm-doc--m .dm-doc-table td:nth-child(3){ display:none; }
.dmx .dm-doc--m .dm-doc-table td small{ font-size:11px; }
.dmx .dm-doc--m .dm-doc-sign{ width:100%; margin-top:10px; }
.dmx .dm-doc--m .dm-doc-foot{ flex-direction:column; gap:2px; }

/* firma */
.dmx .dm-sign{ display:flex; flex-direction:column; gap:8px; }
.dmx .dm-sign-pad{ position:relative; height:150px; border:1.5px dashed #BFC8D6; border-radius:12px; background:#fff; overflow:hidden; }
.dmx .dm-sign.is-done .dm-sign-pad{ border-style:solid; border-color:var(--nx-won); }
.dmx .dm-sign-cv{ position:absolute; inset:0; width:100%; height:100%; touch-action:none; cursor:crosshair; z-index:1; }
.dmx .dm-sign-hint{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#A3AEBF; font-size:.875rem; transition:opacity .2s; pointer-events:none; }
.dmx .dm-sign-x{ position:absolute; left:14px; bottom:22px; color:#A3AEBF; font-size:1.25rem; pointer-events:none; }
.dmx .dm-sign-base{ position:absolute; left:34px; right:16px; bottom:30px; border-bottom:1px solid #D5DCE6; pointer-events:none; }
.dmx .dm-sign-actions{ display:flex; gap:6px; justify-content:flex-end; flex-wrap:wrap; }
.dmx .dm-sign-type{ display:flex; gap:6px; }
.dmx .dm-sign-type .dm-input{ flex:1; }
.dmx .dm-qr{ display:inline-block; line-height:0; padding:6px; background:#fff; border-radius:10px; border:1px solid var(--nx-line); }

/* métricas */
.dmx .dm-tiles{ display:grid; grid-template-columns:repeat(auto-fit, minmax(140px,1fr)); gap:10px; }
.dmx .dm-tile{ container-type:inline-size; background:var(--nx-surface); border:1px solid var(--nx-line); border-radius:12px; padding:12px 14px; display:flex; flex-direction:column; gap:2px; }
.dmx .dm-tile-l{ font-size:.75rem; color:var(--nx-ink-2); font-weight:500; }
.dmx .dm-tile-v{ white-space:nowrap; font-family:var(--nx-display); font-size:clamp(1rem, 14cqi, 1.375rem); font-weight:600; letter-spacing:-.02em; font-variant-numeric:tabular-nums; line-height:1.2; }
.dmx .dm-tile-d{ font-size:.6875rem; color:var(--nx-ink-3); font-weight:600; }
.dmx .dm-tile-d.is-won{ color:var(--nx-won-text); }
.dmx .dm-tile-d.is-warn{ color:var(--nx-warn-text); }
.dmx .dm-chart{ background:var(--nx-surface); border:1px solid var(--nx-line); border-radius:12px; padding:14px 16px 10px; }
.dmx .dm-chart-h{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:8px; }
.dmx .dm-chart-h strong{ font-size:.8125rem; }
.dmx .dm-chart-h small{ font-size:.6875rem; color:var(--nx-ink-3); }
.dmx .dm-chart-box{ position:relative; }
.dmx .dm-bars{ width:100%; height:auto; display:block; overflow:visible; }
.dmx .dm-bars-grid{ stroke:#E6EAF0; stroke-width:1; }
.dmx .dm-bars-y, .dmx .dm-bars-x{ fill:#6B788E; font-size:11px; font-family:var(--nx-text); }
.dmx .dm-bars-bar{ fill:var(--dm-brand-300); transition:fill .15s; }
.dmx .dm-bars-g.is-hl .dm-bars-bar{ fill:var(--dm-brand); }
.dmx .dm-bars-g:hover .dm-bars-bar, .dmx .dm-bars-g:focus .dm-bars-bar{ fill:var(--dm-brand-d); }
.dmx .dm-bars-g:focus{ outline:none; }
.dmx .dm-bars-tip{ position:absolute; transform:translate(-50%,-100%); background:var(--nx-ink); color:#fff; font-size:.6875rem; font-weight:600; padding:4px 8px; border-radius:6px; pointer-events:none; white-space:nowrap; }
.dmx .dm-dash{ display:flex; flex-direction:column; gap:12px; }
.dmx .dm-dash-2{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:12px; }
.dmx .dm-panel{ background:var(--nx-surface); border:1px solid var(--nx-line); border-radius:12px; padding:14px 16px; }
.dmx .dm-panel-h{ display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:.8125rem; font-weight:600; margin-bottom:10px; }
.dmx .dm-panel-h small{ font-weight:500; color:var(--nx-ink-3); font-size:.6875rem; }
.dmx .dm-note{ font-size:.6875rem; color:var(--nx-ink-3); }
.dmx .dm-funnel{ display:flex; flex-direction:column; gap:8px; }
.dmx .dm-funnel-r{ display:grid; grid-template-columns:110px minmax(0,1fr) 40px; gap:8px; align-items:center; font-size:.75rem; }
.dmx .dm-funnel-b{ height:10px; border-radius:4px; background:#EDF0F5; overflow:hidden; }
.dmx .dm-funnel-b i{ display:block; height:100%; background:var(--dm-brand); border-radius:4px; }
.dmx .dm-funnel-r b{ text-align:right; font-variant-numeric:tabular-nums; }

/* agenda */
.dmx .dm-ag{ border:1px solid var(--nx-line); border-radius:12px; background:var(--nx-surface); overflow:hidden; }
.dmx .dm-ag-top{ display:flex; justify-content:space-between; align-items:center; padding:10px 12px; border-bottom:1px solid var(--nx-line); font-size:.8125rem; }
.dmx .dm-ag-scroll{ max-height:430px; overflow:auto; scrollbar-width:thin; }
.dmx .dm-ag-grid{ display:grid; position:relative; min-width:520px; }
.dmx .dm-ag-corner{ position:sticky; top:0; background:#fff; z-index:2; border-bottom:1px solid var(--nx-line); }
.dmx .dm-ag-day{ position:sticky; top:0; z-index:2; background:#fff; text-align:center; padding:6px 0; border-bottom:1px solid var(--nx-line); border-left:1px solid #EEF1F5; display:flex; flex-direction:column; line-height:1.15; }
.dmx .dm-ag-day small{ font-size:.6875rem; color:var(--nx-ink-3); font-weight:600; }
.dmx .dm-ag-day strong{ font-family:var(--nx-display); font-size:1rem; }
.dmx .dm-ag-day.is-today strong{ color:var(--dm-brand-text); }
.dmx .dm-ag-hours{ position:relative; }
.dmx .dm-ag-hours span{ position:absolute; right:6px; font-size:.625rem; color:var(--nx-ink-3); transform:translateY(-6px); font-variant-numeric:tabular-nums; }
.dmx .dm-ag-hours span:first-child{ transform:none; }
.dmx .dm-ag-col{ position:relative; border-left:1px solid #EEF1F5; background-image:linear-gradient(#EEF1F5 1px, transparent 1px); }
.dmx .dm-ag-ev{ position:absolute; left:3px; right:3px; border-radius:7px; background:var(--dm-brand-100); border-left:3px solid var(--dm-brand); padding:4px 7px; font-size:.75rem; line-height:1.25; overflow:hidden; display:flex; flex-direction:column; color:var(--nx-ink); }
.dmx .dm-ag-ev.is-short{ flex-direction:row; align-items:center; gap:6px; padding-top:2px; padding-bottom:2px; }
.dmx .dm-ag-ev.is-short small{ flex:none; }
.dmx .dm-ag-ev strong{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-weight:600; }
.dmx .dm-ag-ev small{ color:var(--nx-ink-2); font-size:.6875rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dmx .dm-ag-ev.is-won{ background:#CFF1E0; border-left-color:var(--nx-won); }
.dmx .dm-ag-ev.is-warn{ background:var(--nx-warn-50); border-left-color:var(--nx-warn); }
.dmx .dm-ag-ev.is-muted{ background:#F2F4F7; border-left-color:#B8C2D1; color:var(--nx-ink-2); }

/* redes */
.dmx .dm-piece{ aspect-ratio:1/1; background:var(--dm-brand); color:var(--dm-on-brand); position:relative; overflow:hidden; display:flex; flex-direction:column; padding:7%; container-type:inline-size; }
.dmx .dm-piece::after{ content:''; position:absolute; right:-18%; bottom:-28%; width:70%; aspect-ratio:1; border-radius:50%; background:rgba(255,255,255,.12); }
.dmx .dm-piece-top{ display:flex; align-items:center; gap:8px; font-weight:600; font-size:clamp(10px, 4.4cqw, 15px); position:relative; z-index:1; }
.dmx .dm-piece-mark{ border-radius:7px; box-shadow:0 0 0 2px rgba(255,255,255,.4); }
.dmx .dm-piece-illu{ position:absolute; right:4%; top:18%; width:56%; z-index:1; }
.dmx .dm-piece-illu svg{ width:100%; height:auto; display:block; filter:drop-shadow(0 10px 18px rgba(0,0,0,.18)); }
.dmx .dm-piece-tx{ margin-top:auto; position:relative; z-index:2; display:flex; flex-direction:column; gap:2px; max-width:62%; }
.dmx .dm-piece-tx small{ font-size:clamp(9px, 3.6cqw, 13px); opacity:.85; font-weight:600; }
.dmx .dm-piece-tx strong{ font-family:var(--nx-display); font-size:clamp(16px, 9cqw, 34px); line-height:1; letter-spacing:-.03em; font-weight:700; }
.dmx .dm-piece-tx span{ font-size:clamp(9px, 3.8cqw, 14px); opacity:.9; margin-top:4px; }
.dmx .dm-piece-price{ position:absolute; z-index:2; right:6%; bottom:6%; background:#fff; color:var(--nx-ink); font-weight:700; border-radius:999px; padding:.35em .8em; font-size:clamp(10px, 4.2cqw, 15px); }
.dmx .dm-ig{ background:#fff; color:#111; font-family:var(--nx-app); font-size:.8125rem; }
.dmx .dm-pub-prev .dm-ig{ border:1px solid var(--nx-line); border-radius:12px; overflow:hidden; }
.dmx .dm-ig-head{ display:flex; align-items:center; gap:9px; padding:8px 10px; }
.dmx .dm-ig-ring{ padding:2px; border-radius:50%; background:conic-gradient(#F58529,#DD2A7B,#8134AF,#F58529); display:inline-flex; }
.dmx .dm-ig-ring .dm-mark{ border-radius:50%; border:2px solid #fff; }
.dmx .dm-ig-who{ display:flex; flex-direction:column; flex:1; line-height:1.2; min-width:0; }
.dmx .dm-ig-who strong{ font-size:.8125rem; }
.dmx .dm-ig-who small{ font-size:.6875rem; color:#555; }
.dmx .dm-ig-actions{ display:flex; gap:14px; padding:8px 10px 4px; }
.dmx .dm-ig-actions .is-liked{ color:#ED4956; }
.dmx .dm-ig-actions .is-liked svg{ fill:#ED4956; }
.dmx .dm-ig-sp{ flex:1; }
.dmx .dm-ig-body{ padding:0 10px 12px; display:flex; flex-direction:column; gap:3px; }
.dmx .dm-ig-cap{ line-height:1.4; white-space:pre-wrap; }
.dmx .dm-ig-time{ color:#777; font-size:.6875rem; }
.dmx .dm-pub{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:16px; align-items:start; }
.dmx .dm-pub-ed{ border:1px solid var(--nx-line); border-radius:14px; padding:14px; background:var(--nx-surface); }
.dmx .dm-pub-top{ display:flex; justify-content:space-between; align-items:center; font-size:.875rem; }
.dmx .dm-pub-src{ display:flex; gap:6px; align-items:center; margin-top:10px; font-size:.75rem; color:var(--dm-brand-text); background:var(--dm-brand-50); border-radius:8px; padding:7px 10px; }
.dmx .dm-pub-nets{ display:flex; gap:6px; flex-wrap:wrap; }
.dmx .dm-pub-ta{ font-size:.8125rem; }
.dmx .dm-pub-row{ display:flex; gap:6px; margin-top:10px; flex-wrap:wrap; justify-content:flex-end; }

/* inmueble / producto con ilustración */
.dmx .dm-thumb{ aspect-ratio:16/10; background:var(--dm-brand-50); display:flex; align-items:flex-end; justify-content:center; overflow:hidden; position:relative; }
.dmx .dm-thumb svg{ width:62%; height:auto; display:block; margin-bottom:-6%; }
.dmx .dm-thumb.is-alt{ background:#EAF3EE; }
.dmx .dm-thumb.is-alt2{ background:#F6EFE4; }
.dmx .dm-thumb-tag{ position:absolute; left:8px; top:8px; background:#fff; color:var(--nx-ink); font-size:.625rem; font-weight:700; border-radius:999px; padding:2px 7px; }
.dmx .dm-props{ display:flex; flex-direction:column; gap:8px; }
.dmx .dm-prop{ display:grid; grid-template-columns:120px minmax(0,1fr) auto; gap:12px; align-items:center; border:1px solid var(--nx-line); border-radius:12px; padding:8px; background:#fff; }
.dmx .dm-prop .dm-thumb{ border-radius:8px; }
.dmx .dm-prop-tx{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.dmx .dm-prop-tx strong{ font-size:.875rem; }
.dmx .dm-prop-tx small{ font-size:.75rem; color:var(--nx-ink-2); }
.dmx .dm-prop-r{ display:flex; flex-direction:column; align-items:flex-end; gap:2px; padding-right:6px; }
.dmx .dm-prop.is-no{ opacity:.55; }
.dmx .dm-intake{ border:1px solid var(--nx-line); border-radius:12px; background:#fff; padding:12px 14px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 16px; }
.dmx .dm-intake-src{ font-size:.6875rem; color:var(--nx-ink-3); font-weight:600; display:flex; gap:6px; align-items:center; }
.dmx .dm-intake p{ font-size:.8125rem; color:var(--nx-ink-2); grid-column:1; }
.dmx .dm-intake .dm-chips{ grid-column:1/-1; }
.dmx .dm-ph-ig{ display:flex; flex-direction:column; height:100%; background:#fff; }
.dmx .dm-ph-ig-top{ display:flex; justify-content:space-between; align-items:center; padding:4px 14px 8px; font-family:var(--nx-display); font-weight:600; font-size:1.25rem; letter-spacing:-.02em; border-bottom:1px solid #EFEFEF; }
.dmx .dm-ph-ig-body{ flex:1; overflow:auto; }

/* checklist */
.dmx .dm-ck-wrap{ display:flex; flex-direction:column; gap:8px; }
.dmx .dm-ck-top{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; font-size:.875rem; }
.dmx .dm-prog-lbl{ font-size:.75rem; color:var(--nx-ink-2); font-weight:600; }
.dmx .dm-prog-bar{ display:block; height:6px; border-radius:999px; background:#E6EAF0; overflow:hidden; }
.dmx .dm-prog-bar i{ display:block; height:100%; width:0; background:var(--nx-won); border-radius:999px; transition:width .5s var(--nx-ease); }
.dmx .dm-ck{ display:flex; flex-direction:column; gap:6px; }
.dmx .dm-ck-i{ display:flex; gap:10px; align-items:center; padding:10px; border:1px solid #E6EAF0; border-radius:10px; background:#fff; }
.dmx .dm-ck-box{ width:22px; height:22px; border-radius:7px; border:1.5px solid #C3CCD8; display:inline-flex; align-items:center; justify-content:center; flex:none; }
.dmx .dm-ck-i.is-done .dm-ck-box{ background:var(--nx-won); border-color:var(--nx-won); color:#fff; }
.dmx .dm-ck-i.is-late .dm-ck-box{ border-color:var(--nx-lost); }
.dmx .dm-ck-tx{ display:flex; flex-direction:column; flex:1; min-width:0; line-height:1.3; }
.dmx .dm-ck-tx strong{ font-size:.8125rem; font-weight:600; }
.dmx .dm-ck-tx small{ font-size:.6875rem; color:var(--nx-ink-3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dmx .dm-ck-r{ flex:none; }

/* asistente de IA */
.dmx .dm-ai{ border:1px solid var(--nx-line); border-radius:14px; background:#fff; overflow:hidden; }
.dmx .dm-ai-bar{ display:flex; align-items:center; gap:8px; padding:9px 12px; border-bottom:1px solid var(--nx-line); background:#FAFAFB; font-size:.8125rem; }
.dmx .dm-ai-bar small{ margin-left:auto; color:var(--nx-ink-3); font-size:.6875rem; }
.dmx .dm-ai-logo{ width:24px; height:24px; border-radius:7px; background:#1F1F23; color:#fff; display:inline-flex; align-items:center; justify-content:center; }
.dmx .dm-ai-body{ padding:14px; display:flex; flex-direction:column; gap:12px; min-height:220px; }
.dmx .dm-ai-q{ align-self:flex-end; background:#F0F1F4; border-radius:16px 16px 4px 16px; padding:8px 12px; font-size:.875rem; max-width:80%; }
.dmx .dm-ai-a{ display:flex; flex-direction:column; gap:8px; font-size:.8125rem; line-height:1.55; }
.dmx .dm-ai-p.is-li{ padding-left:14px; position:relative; }
.dmx .dm-ai-p.is-li::before{ content:''; position:absolute; left:2px; top:.65em; width:5px; height:5px; border-radius:50%; background:#9AA4B4; }
.dmx .dm-ai-p.is-hl{ background:var(--dm-brand-50); border-radius:8px; padding:6px 8px 6px 20px; }
.dmx .dm-ai-p.is-hl::before{ left:8px; background:var(--dm-brand); }
.dmx .dm-ai-cite{ display:inline-flex; margin-left:5px; font-size:.625rem; font-weight:700; background:#ECEEF2; color:var(--nx-ink-2); border-radius:999px; padding:1px 7px; vertical-align:1px; }
.dmx .dm-ai-cite.is-hl{ background:var(--dm-brand); color:var(--dm-on-brand); }
.dmx .dm-gauge{ display:flex; align-items:center; gap:12px; }
.dmx .dm-gauge-svg{ line-height:0; }
.dmx .dm-gauge-tx{ display:flex; flex-direction:column; line-height:1.1; }
.dmx .dm-gauge-v{ font-family:var(--nx-display); font-size:2.2rem; font-weight:600; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.dmx .dm-gauge-tx small{ font-size:.75rem; color:var(--nx-ink-3); }

/* utilidades de vista */
.dmx .dm-row{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.dmx .dm-col{ display:flex; flex-direction:column; gap:12px; }
.dmx .dm-grid2{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; }
.dmx .dm-sp{ flex:1; }
.dmx .dm-muted{ color:var(--nx-ink-3); font-size:.75rem; }
.dmx .dm-strong{ font-weight:700; }
.dmx .dm-ph-page{ padding:14px 16px 24px; font-family:var(--nx-app); font-size:.875rem; color:#111; display:flex; flex-direction:column; gap:12px; }
.dmx .dm-ph-page h3{ font-family:var(--nx-display); font-size:1.25rem; letter-spacing:-.02em; line-height:1.15; }
.dmx .dm-ph-hero{ border-radius:14px; overflow:hidden; }
.dmx .dm-ph-lock{ height:100%; display:flex; flex-direction:column; align-items:center; padding-top:60px; color:#fff; background:linear-gradient(160deg,#20304F,#0B1B33 60%); }
.dmx .dm-ph-lock strong{ font-family:var(--nx-display); font-size:4.2rem; font-weight:500; letter-spacing:-.04em; line-height:1; }
.dmx .dm-ph-lock small{ font-size:.875rem; opacity:.8; margin-top:6px; }
.dmx .dm-mini-list{ display:flex; flex-direction:column; gap:6px; }
.dmx .dm-mini-item{ display:flex; gap:10px; align-items:center; padding:9px 10px; border:1px solid #E6EAF0; border-radius:10px; background:#fff; font-size:.8125rem; }
.dmx .dm-mini-item > span:first-child{ flex:1; min-width:0; display:flex; flex-direction:column; }
.dmx .dm-mini-item small{ color:var(--nx-ink-3); font-size:.6875rem; }
.dmx .dm-match{ font-family:var(--nx-display); font-weight:700; font-size:1rem; color:var(--nx-won-text); font-variant-numeric:tabular-nums; }
.dmx .dm-tap{ animation:dm-tap .52s var(--nx-ease); }
.dmx .dm-flash{ animation:dm-flash 1.4s var(--nx-ease); }
.dmx .dm-enter{ animation:dm-in .45s var(--nx-ease) both; }

@keyframes dm-in{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
@keyframes dm-fade{ from{ opacity:0; } to{ opacity:1; } }
@keyframes dm-pop{ from{ opacity:0; transform:translateY(6px) scale(.97); } to{ opacity:1; transform:none; } }
@keyframes dm-dot{ 0%,60%,100%{ transform:none; opacity:.5; } 30%{ transform:translateY(-3px); opacity:1; } }
@keyframes dm-flash{ 0%{ box-shadow:0 0 0 3px var(--dm-brand-300); background-color:var(--dm-brand-50); } 100%{ box-shadow:0 0 0 3px transparent; } }
@keyframes dm-tap{ 0%{ box-shadow:0 0 0 0 rgba(20,82,240,.0); transform:none; } 35%{ box-shadow:0 0 0 6px var(--dm-brand-100); transform:scale(.97); } 100%{ box-shadow:0 0 0 12px transparent; transform:none; } }

/* ─── texto bajo la demo (AEO) ─── */
.dmx .dm-explain{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:56px; margin-top:64px; align-items:start; }
.dmx .dm-explain-main p{ font-size:1.0625rem; line-height:1.68; color:var(--nx-ink-2); max-width:68ch; margin-bottom:14px; }
.dmx .dm-faq{ display:flex; flex-direction:column; gap:16px; max-width:68ch; }
.dmx .dm-faq dt{ font-weight:600; font-size:1rem; }
.dmx .dm-faq dd{ color:var(--nx-ink-2); margin-top:4px; line-height:1.6; }
.dmx .dm-explain-side{ background:var(--nx-surface); border:1px solid var(--nx-line); border-radius:16px; padding:22px; position:sticky; top:96px; display:flex; flex-direction:column; gap:14px; }
.dmx .dm-explain-side .dm-h4{ margin:0; }
.dmx .dm-pieces{ display:flex; flex-direction:column; gap:9px; }
.dmx .dm-pieces li{ position:relative; padding-left:22px; font-size:.9375rem; color:var(--nx-ink-2); line-height:1.4; }
.dmx .dm-pieces li::before{ content:''; position:absolute; left:2px; top:.38em; width:11px; height:6px; border-left:2px solid var(--nx-won); border-bottom:2px solid var(--nx-won); transform:rotate(-45deg); }
.dmx .dm-side-product{ font-size:.875rem; color:var(--nx-ink-2); padding-top:12px; border-top:1px solid var(--nx-line); }
.dmx .dm-side-note{ font-size:.8125rem; color:var(--nx-ink-3); }
.dmx .dm-others{ margin-top:56px; }
.dmx .dm-others-list{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1px; background:var(--nx-line); border:1px solid var(--nx-line); border-radius:14px; overflow:hidden; }
.dmx .dm-others-list a{ display:flex; flex-direction:column; gap:2px; padding:16px 18px; background:var(--nx-surface); text-decoration:none; color:var(--nx-ink); height:100%; }
.dmx .dm-others-list a:hover{ background:#FAFBFD; }
.dmx .dm-others-list a span{ font-weight:600; }
.dmx .dm-others-list a small{ color:var(--nx-ink-3); font-size:.8125rem; }


/* ═══════════════════ HUB /demos/ ═══════════════════ */
.dmx.dm-hub{ padding-top:56px; }
.dmx .dm-hub-hero{ display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr); gap:56px; align-items:end; margin-bottom:56px; }
.dmx .dm-hub-h1{ font-family:var(--nx-display); font-weight:600; font-size:clamp(2.6rem,5.6vw,4.9rem); line-height:.98; letter-spacing:-.035em; margin-bottom:22px; text-wrap:balance; }
.dmx .dm-hub-proof{ margin-top:16px; font-size:.9375rem; color:var(--nx-ink-3); max-width:58ch; line-height:1.55; }
.dmx .dm-try{ background:var(--nx-surface); border:1px solid var(--nx-line); border-radius:16px; padding:22px; display:flex; flex-direction:column; gap:14px; }
.dmx .dm-try .dm-h4{ margin:0; }
.dmx .dm-try-colors{ border:0; margin:0; padding:0; min-width:0; }
.dmx .dm-try-colors legend{ font-size:.875rem; font-weight:600; margin-bottom:8px; padding:0; }
.dmx .dm-try-sw{ display:flex; gap:10px; flex-wrap:wrap; }
.dmx .dm-sw{ width:34px; height:34px; border-radius:50%; background:var(--sw); position:relative; cursor:pointer; box-shadow:inset 0 0 0 1px rgba(11,27,51,.12); }
.dmx .dm-sw input[type=radio]{ position:absolute; inset:0; opacity:0; margin:0; cursor:pointer; }
.dmx .dm-sw:has(input:checked), .dmx .dm-sw.is-on{ box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--nx-ink); }
.dmx .dm-sw:has(input:focus-visible){ outline:2px solid var(--nx-blue); outline-offset:4px; }
.dmx .dm-sw--custom{ background:conic-gradient(#E5484D,#F5A524,#30A46C,#0091FF,#8E4EC6,#E5484D); overflow:hidden; }
.dmx .dm-sw--custom input{ position:absolute; inset:-8px; width:50px; height:50px; opacity:0; cursor:pointer; border:0; padding:0; }
.dmx .dm-try-note{ font-size:.8125rem; color:var(--nx-ink-3); }

.dmx .dm-hub-list{ display:flex; flex-direction:column; border-top:1px solid var(--nx-line); }
.dmx .dm-hub-row{ display:grid; grid-template-columns:300px minmax(0,1fr) 200px; gap:40px; padding:36px 0; border-bottom:1px solid var(--nx-line); align-items:center; }
.dmx .dm-hub-mini{ display:flex; flex-direction:column; gap:8px; padding:16px; border-radius:18px; background:var(--nx-surface); border:1px solid var(--nx-line); text-decoration:none; color:var(--nx-ink); min-height:184px; transition:transform .2s var(--nx-ease); }
.dmx .dm-hub-mini.is-night{ background:var(--nx-ink); border-color:var(--nx-ink); color:#fff; }
.dmx .dm-hub-clock{ display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:4px; }
.dmx .dm-hub-clock-t{ font-family:var(--nx-display); font-size:2.1rem; font-weight:500; letter-spacing:-.03em; line-height:1; font-variant-numeric:tabular-nums; }
.dmx .dm-hub-clock-l{ font-size:.6875rem; font-weight:600; padding:3px 8px; border-radius:999px; background:var(--nx-warn-50); color:var(--nx-warn-text); }
.dmx .dm-hub-mini.is-night .dm-hub-clock-l{ background:rgba(232,154,12,.18); color:#FFC864; }
.dmx .dm-hub-b{ font-size:.8125rem; line-height:1.35; padding:8px 10px; border-radius:12px; max-width:92%; }
.dmx .dm-hub-b--in{ background:#D9FDD3; color:#111; align-self:flex-end; border-bottom-right-radius:4px; }
.dmx .dm-hub-b--out{ background:var(--dm-brand); color:var(--dm-on-brand); align-self:flex-start; border-bottom-left-radius:4px; display:flex; gap:8px; align-items:center; font-weight:600; }
.dmx .dm-hub-mark{ width:22px; height:22px; border-radius:6px; font-size:.625rem; background:rgba(255,255,255,.22); color:inherit; flex:none; }
.dmx .dm-hub-h2{ font-family:var(--nx-display); font-weight:600; font-size:1.75rem; letter-spacing:-.02em; line-height:1.1; margin-bottom:6px; }
.dmx .dm-hub-h2 a{ color:var(--nx-ink); text-decoration:none; }
.dmx .dm-hub-h2 a:hover{ color:var(--nx-blue); }
.dmx .dm-hub-pain{ color:var(--nx-ink-2); font-size:1rem; margin-bottom:16px; max-width:56ch; }
.dmx .dm-hub-story{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:10px 16px; }
.dmx .dm-hub-story li{ display:flex; flex-direction:column; gap:2px; padding-top:8px; border-top:2px solid var(--nx-line); font-size:.8125rem; color:var(--nx-ink-2); line-height:1.35; }
.dmx .dm-hub-story li:first-child{ border-top-color:var(--nx-blue); }
.dmx .dm-hub-story time{ font-family:var(--nx-display); font-weight:600; font-size:.875rem; color:var(--nx-ink); font-variant-numeric:tabular-nums; min-height:1.2em; }
.dmx .dm-hub-story li.is-more{ color:var(--nx-ink-3); border-top-style:dashed; }
.dmx .dm-hub-cta{ display:flex; flex-direction:column; gap:6px; align-items:flex-start; }
.dmx .dm-hub-cta small{ font-size:.8125rem; color:var(--nx-ink-3); }
.dmx .dm-hub-prod{ color:var(--nx-ink-2)!important; }
.dmx .dm-hub-row:hover .dm-hub-mini{ transform:translateY(-2px); }

.dmx .dm-hub-ask{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px; margin-top:80px; align-items:start; }
.dmx .dm-hub-steps{ display:flex; flex-direction:column; gap:18px; counter-reset:dmstep; margin:8px 0 20px; }
.dmx .dm-hub-steps li{ counter-increment:dmstep; display:grid; grid-template-columns:36px minmax(0,1fr); gap:2px 12px; }
.dmx .dm-hub-steps li::before{ content:counter(dmstep); grid-row:1/3; width:32px; height:32px; border-radius:50%; background:var(--nx-surface); border:1px solid var(--nx-line); display:flex; align-items:center; justify-content:center; font-family:var(--nx-display); font-weight:600; }
.dmx .dm-hub-steps strong{ font-size:1rem; }
.dmx .dm-hub-steps span{ color:var(--nx-ink-2); font-size:.9375rem; }
.dmx .dm-hub-alt{ font-size:.9375rem; color:var(--nx-ink-2); }
.dmx .dm-hub-ask-form{ background:var(--nx-surface); border:1px solid var(--nx-line); border-radius:18px; padding:26px; }
@media (max-width:980px){
  .dmx .dm-hub-hero{ grid-template-columns:1fr; gap:28px; }
  .dmx .dm-hub-row{ grid-template-columns:240px minmax(0,1fr); gap:24px; }
  .dmx .dm-hub-cta{ grid-column:2; flex-direction:row; align-items:center; flex-wrap:wrap; gap:6px 14px; }
  .dmx .dm-hub-ask{ grid-template-columns:1fr; gap:28px; }
}
@media (max-width:640px){
  .dmx.dm-hub{ padding-top:28px; }
  .dmx .dm-hub-h1{ font-size:2.6rem; }
  .dmx .dm-hub-row{ grid-template-columns:1fr; gap:16px; padding:28px 0; }
  .dmx .dm-hub-mini{ min-height:0; }
  .dmx .dm-hub-cta{ grid-column:auto; }
  .dmx .dm-hub-story{ grid-template-columns:1fr 1fr; }
  .dmx .dm-hub-ask-form{ padding:18px; }
}


/* ═══════════════════ RONDA 2 · Pruébalo tú, bienvenida, solicitud con logo ═══════════════════ */
.dmx .dm-scene{ position:relative; }
.dmx .dm-trybar{ display:grid; grid-template-columns:220px minmax(0,1fr); gap:10px 18px; align-items:center; padding:12px 24px 14px; border-top:1px solid var(--nx-line); background:linear-gradient(0deg, #FAFBFD, #FFFFFF); }
.dmx .dm-trybar-h{ display:flex; flex-direction:column; gap:4px; }
.dmx .dm-trybar-h strong{ font-family:var(--nx-display); font-size:1.0625rem; }
.dmx .dm-trybar-h small{ font-size:.75rem; color:var(--nx-ink-3); font-weight:600; }
.dmx .dm-trybar-prog{ display:block; height:5px; border-radius:999px; background:#E6EAF0; overflow:hidden; }
.dmx .dm-trybar-prog i{ display:block; height:100%; background:var(--nx-won); border-radius:999px; transition:width .5s var(--nx-ease); }
.dmx .dm-trybar-list{ display:flex; gap:8px; flex-wrap:wrap; }
.dmx .dm-task{ display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:6px 12px 6px 6px; border-radius:999px; border:1px solid var(--nx-line); background:#fff; font-size:.8125rem; font-weight:600; color:var(--nx-ink); text-align:left; line-height:1.25; }
.dmx .dm-task:hover{ border-color:var(--nx-ink-3); }
.dmx .dm-task-n{ width:26px; height:26px; border-radius:50%; flex:none; display:inline-flex; align-items:center; justify-content:center; background:var(--nx-paper); color:var(--nx-ink-2); font-size:.75rem; font-family:var(--nx-display); }
.dmx .dm-task.is-next{ border-color:var(--nx-blue); box-shadow:0 0 0 3px var(--nx-blue-50); }
.dmx .dm-task.is-next .dm-task-n{ background:var(--nx-blue); color:#fff; }
.dmx .dm-task.is-done{ color:var(--nx-ink-3); background:#FAFBFC; }
.dmx .dm-task.is-done .dm-task-n{ background:var(--nx-won); color:#fff; }
.dmx .dm-task.is-done .dm-task-tx{ text-decoration:line-through; text-decoration-color:rgba(11,27,51,.25); }
.dmx .dm-welcome{ position:absolute; inset:0; z-index:30; display:flex; align-items:flex-start; justify-content:center; padding:48px 16px; background:rgba(243,245,248,.82); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.dmx .dm-welcome-card{ width:min(520px, 100%); background:#fff; border:1px solid var(--nx-line); border-radius:22px; padding:32px 30px 28px; box-shadow:var(--nx-shadow-float); text-align:center; display:flex; flex-direction:column; align-items:center; gap:10px; animation:dm-in .45s var(--nx-ease); }
.dmx .dm-welcome-mark{ border-radius:18px; box-shadow:0 0 0 1px var(--nx-line); background:#fff; margin-bottom:6px; }
.dmx .dm-welcome-mark img{ padding:8px; }
.dmx .dm-welcome-k{ font-size:.8125rem; font-weight:600; color:var(--dm-brand-text); }
.dmx .dm-welcome-h{ font-family:var(--nx-display); font-size:2rem; font-weight:600; letter-spacing:-.02em; line-height:1.1; }
.dmx .dm-welcome-p{ color:var(--nx-ink-2); max-width:42ch; }
.dmx .dm-welcome-btns{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-top:10px; }
.dmx .dm-welcome .dm-btn--primary{ background:var(--dm-brand); color:var(--dm-on-brand); }
.dmx .dm-welcome .dm-btn--primary:hover{ background:var(--dm-brand-d); }

.dmx .dm-opt{ font-weight:500; color:var(--nx-ink-3); font-size:.75rem; }
.dmx .dm-req .dm-form-grid{ margin-bottom:14px; }
.dmx .dm-brandbox{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:14px 18px; padding:14px; border:1px dashed #C9D2DF; border-radius:14px; background:#FAFBFD; margin-bottom:14px; }
.dmx .dm-logo-drop{ display:flex; flex-direction:column; gap:10px; min-width:0; }
.dmx .dm-logo-pick{ display:flex; align-items:center; gap:12px; cursor:pointer; padding:6px; border-radius:12px; }
.dmx .dm-logo-pick:hover{ background:#fff; }
.dmx .dm-logo-drop input[type=file]:focus-visible + .dm-logo-pick{ outline:2px solid var(--nx-blue); outline-offset:2px; }
.dmx .dm-logo-prev{ width:56px; height:56px; border-radius:14px; flex:none; background:var(--dm-req-color, #E3E8F0); display:inline-flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(11,27,51,.1); }
.dmx .dm-logo-prev:empty::before{ content:''; width:22px; height:22px; background:#fff; opacity:.9; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 15.5V4.5M7.5 9L12 4.5 16.5 9M4.5 15v4.5h15V15'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 15.5V4.5M7.5 9L12 4.5 16.5 9M4.5 15v4.5h15V15'/%3E%3C/svg%3E") center/contain no-repeat; }
.dmx .dm-logo-prev img{ width:100%; height:100%; object-fit:contain; padding:5px; }
.dmx .dm-logo-tx{ display:flex; flex-direction:column; min-width:0; }
.dmx .dm-logo-tx strong{ font-size:.9375rem; color:var(--nx-blue); overflow-wrap:anywhere; }
.dmx .dm-logo-tx small{ font-size:.8125rem; color:var(--nx-ink-3); }
.dmx .dm-logo-url input{ height:40px!important; font-size:.875rem!important; }
.dmx .dm-logo-url > span{ font-weight:500; color:var(--nx-ink-2); font-size:.8125rem; }
.dmx .dm-logo-drop.has-logo .dm-logo-url{ display:none; }
.dmx .dm-brandbox .dm-try-colors legend{ font-size:.875rem; }
.dmx .dm-brandbox .dm-sw{ width:30px; height:30px; }
.dmx .dm-wants{ border:0; padding:0; margin:0 0 6px; min-width:0; }
.dmx .dm-wants legend{ font-size:.875rem; font-weight:600; margin-bottom:8px; padding:0; }
.dmx .dm-wchips{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px; }
.dmx .dm-wchip{ position:relative; }
.dmx .dm-wchip input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.dmx .dm-wchip span{ display:inline-flex; align-items:center; height:34px; padding:0 12px; border-radius:999px; border:1px solid var(--nx-line); background:#fff; font-size:.8125rem; font-weight:600; color:var(--nx-ink-2); cursor:pointer; }
.dmx .dm-wchip input:checked + span{ background:var(--nx-blue-50); border-color:#A9C0FA; color:var(--nx-blue-d); }
.dmx .dm-wchip input:focus-visible + span{ outline:2px solid var(--nx-blue); outline-offset:2px; }
.dmx .dm-wants textarea{ border:1px solid var(--nx-line); border-radius:10px; padding:10px 14px; font-size:.9375rem; width:100%; resize:vertical; font-weight:400; }
.dmx .dm-wants textarea:focus{ border-color:var(--nx-blue); box-shadow:0 0 0 3px var(--nx-blue-50); outline:none; }
@media (max-width:640px){
  .dmx .dm-trybar{ grid-template-columns:1fr; padding:10px 12px; order:0; }
  .dmx .dm-trybar-list{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; padding-bottom:2px; margin:0 -12px; padding-left:12px; padding-right:12px; }
  .dmx .dm-task{ flex:0 0 auto; width:max-content; max-width:240px; border-radius:14px; }
  .dmx .dm-brandbox{ grid-template-columns:1fr; }
  .dmx .dm-welcome{ padding:24px 10px; }
  .dmx .dm-welcome-card{ padding:24px 18px 20px; }
  .dmx .dm-welcome-h{ font-size:1.6rem; }
}


/* ═══════════════════ RONDA 2 · piezas por vertical ═══════════════════ */
/* hub */
.dmx .dm-hub-hero-cta{ display:flex; gap:10px; flex-wrap:wrap; margin-top:22px; }
.dmx .dm-hub-extra{ margin-top:64px; }
.dmx .dm-hub-extra .dm-hub-list{ border-top:1px solid var(--nx-line); }
.dmx .dm-hub-mini--ads, .dmx .dm-hub-mini--map{ background:#fff; color:var(--nx-ink); }
.dmx .dm-hub-q{ display:flex; align-items:center; gap:8px; border:1px solid var(--nx-line); border-radius:999px; padding:8px 12px; font-size:.8125rem; color:var(--nx-ink-2); }
.dmx .dm-hub-ad{ display:flex; flex-direction:column; gap:2px; padding:4px 2px; }
.dmx .dm-hub-ad small{ font-size:.6875rem; font-weight:700; color:var(--nx-ink-2); }
.dmx .dm-hub-ad strong{ font-size:.875rem; color:#1A0DAB; line-height:1.3; }
.dmx .dm-hub-mini--map{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; align-content:start; }
.dmx .dm-hub-lane{ font-size:.6875rem; font-weight:700; text-align:center; padding:18px 4px; border-radius:10px; background:var(--nx-paper); color:var(--nx-ink-3); }
.dmx .dm-hub-lane.is-on{ background:var(--dm-brand-50); color:var(--dm-brand-text); box-shadow:inset 0 0 0 1px var(--dm-brand-100); }
.dmx .dm-hub-mini--map .dm-hub-b{ grid-column:1/-1; margin-top:6px; }

/* google ads */
.dmx .gx-camp{ display:flex; flex-direction:column; gap:12px; }
.dmx .gx-meta{ display:flex; flex-wrap:wrap; gap:6px 16px; font-size:.8125rem; color:var(--nx-ink-2); }
.dmx .gx-aimax{ border:1px solid var(--dm-brand-100); background:var(--dm-brand-50); border-radius:12px; padding:12px; }
.dmx .gx-aimax-h{ display:flex; align-items:center; gap:8px; color:var(--dm-brand-text); margin-bottom:10px; font-size:.875rem; }
.dmx .gx-aimax-h strong{ color:var(--nx-ink); flex:1; }
.dmx .gx-tgs{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; }
.dmx .gx-tg{ display:flex; gap:10px; align-items:flex-start; background:#fff; border-radius:10px; padding:10px; }
.dmx .gx-tg span:last-child{ display:flex; flex-direction:column; min-width:0; }
.dmx .gx-tg strong{ font-size:.8125rem; }
.dmx .gx-tg small{ font-size:.6875rem; color:var(--nx-ink-3); line-height:1.35; }
.dmx .gx-ctrls{ display:flex; flex-direction:column; gap:6px; font-size:.8125rem; }
.dmx .gx-code{ font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:.6875rem; background:var(--nx-paper); border-radius:4px; padding:1px 5px; }
.dmx .gx-steps{ list-style:decimal; padding-left:18px; display:flex; flex-direction:column; gap:6px; font-size:.8125rem; color:var(--nx-ink-2); }
.dmx .gx-sug{ list-style:disc; padding-left:18px; display:flex; flex-direction:column; gap:6px; font-size:.8125rem; color:var(--nx-ink-2); }
.dmx .gx-serp{ padding:10px 14px 24px; font-family:Arial, var(--nx-app); color:#202124; display:flex; flex-direction:column; gap:14px; }
.dmx .gx-q{ display:flex; align-items:center; gap:10px; border-radius:999px; box-shadow:0 1px 6px rgba(32,33,36,.28); padding:11px 16px; font-size:.875rem; min-height:44px; }
.dmx .gx-ad{ display:flex; flex-direction:column; gap:3px; padding-bottom:14px; border-bottom:1px solid #ECEDEF; border-radius:8px; }
.dmx .gx-ad-sp{ font-weight:700; font-size:.75rem; }
.dmx .gx-ad-url{ font-size:.75rem; color:#202124; }
.dmx .gx-ad-h{ font-size:1.0625rem; color:#1A0DAB; line-height:1.3; font-weight:400; }
.dmx .gx-ad-d{ font-size:.8125rem; color:#4D5156; line-height:1.45; }
.dmx .gx-ad-ai{ display:inline-flex; align-items:center; gap:5px; align-self:flex-start; margin-top:4px; font-size:.6875rem; font-weight:600; color:var(--dm-brand-text); background:var(--dm-brand-50); border-radius:999px; padding:3px 8px; font-family:var(--nx-text); }
.dmx .gx-org{ display:flex; flex-direction:column; gap:2px; }
.dmx .gx-org small{ font-size:.75rem; color:#5F6368; margin-bottom:6px; }
.dmx .gx-org strong{ font-size:.9375rem; color:#1A0DAB; font-weight:400; }
.dmx .gx-org p{ font-size:.8125rem; color:#4D5156; }
@container dmm (max-width:660px){ .dmx .gx-tgs{ grid-template-columns:minmax(0,1fr); } }

/* a medida */
.dmx.am{ background:var(--nx-surface); border:1px solid var(--nx-line); border-radius:20px; overflow:hidden; }
.dmx .am-top{ display:flex; align-items:center; gap:12px; padding:14px 22px; border-bottom:1px solid var(--nx-line); flex-wrap:wrap; }
.dmx .am-steps{ display:flex; gap:6px; flex-wrap:wrap; }
.dmx .am-step{ display:inline-flex; align-items:center; gap:8px; padding:6px 12px 6px 6px; border-radius:999px; font-size:.8125rem; font-weight:600; color:var(--nx-ink-3); }
.dmx .am-step-n{ width:24px; height:24px; border-radius:50%; background:var(--nx-paper); display:inline-flex; align-items:center; justify-content:center; font-family:var(--nx-display); font-size:.75rem; }
.dmx .am-step.is-on{ color:var(--nx-ink); background:var(--nx-blue-50); }
.dmx .am-step.is-on .am-step-n{ background:var(--nx-blue); color:#fff; }
.dmx .am-step.is-done .am-step-n{ background:var(--nx-won); color:#fff; }
.dmx .am-body{ padding:28px; min-height:440px; }
.dmx .am-h{ font-family:var(--nx-display); font-size:1.75rem; font-weight:600; letter-spacing:-.02em; line-height:1.15; }
.dmx .am-h3{ font-family:var(--nx-display); font-size:1.125rem; font-weight:600; margin:28px 0 12px; }
.dmx .am-sub{ color:var(--nx-ink-2); margin:6px 0 20px; }
.dmx .am-sectors{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:10px; }
.dmx .am-sector{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; text-align:left; padding:18px; border-radius:16px; border:1px solid var(--nx-line); background:#fff; font-weight:600; font-size:.9375rem; min-height:118px; transition:border-color .15s, transform .15s; }
.dmx .am-sector:hover{ border-color:var(--nx-blue); transform:translateY(-1px); }
.dmx .am-sector.is-on{ border-color:var(--nx-blue); box-shadow:0 0 0 3px var(--nx-blue-50); }
.dmx .am-sector-ic{ width:40px; height:40px; border-radius:12px; background:var(--nx-blue-50); color:var(--nx-blue); display:inline-flex; align-items:center; justify-content:center; }
.dmx .am-probs{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; }
.dmx .am-prob{ display:flex; align-items:center; gap:12px; padding:14px; border:1px solid var(--nx-line); border-radius:12px; cursor:pointer; font-size:.9375rem; position:relative; }
.dmx .am-prob input{ position:absolute; opacity:0; inset:0; margin:0; cursor:pointer; }
.dmx .am-prob-box{ width:22px; height:22px; border-radius:7px; border:1.5px solid #C3CCD8; display:inline-flex; align-items:center; justify-content:center; color:transparent; flex:none; }
.dmx .am-prob input:checked ~ .am-prob-box{ background:var(--nx-blue); border-color:var(--nx-blue); color:#fff; }
.dmx .am-prob:has(input:checked){ border-color:var(--nx-blue); background:var(--nx-blue-50); }
.dmx .am-prob:has(input:focus-visible){ outline:2px solid var(--nx-blue); outline-offset:2px; }
.dmx .am-team{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:20px 0; font-size:.875rem; }
.dmx .am-actions{ display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:12px; }
.dmx .am-log{ display:flex; flex-direction:column; gap:12px; margin-top:20px; max-width:640px; }
.dmx .am-log-i{ display:flex; gap:12px; align-items:flex-start; font-size:1rem; color:var(--nx-ink-2); animation:dm-in .35s var(--nx-ease); }
.dmx .am-log-ic{ width:24px; height:24px; border-radius:50%; flex:none; display:inline-flex; align-items:center; justify-content:center; border:2px solid var(--nx-line); }
.dmx .am-log-i.is-run .am-log-ic{ border-color:var(--nx-blue); border-right-color:transparent; animation:am-spin .8s linear infinite; }
.dmx .am-log-i.is-ok{ color:var(--nx-ink); }
.dmx .am-log-i.is-ok .am-log-ic{ background:var(--nx-won); border-color:var(--nx-won); color:#fff; }
@keyframes am-spin{ to{ transform:rotate(360deg); } }
.dmx .am-maphead{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; flex-wrap:wrap; }
.dmx .am-flow{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; position:relative; }
.dmx .am-lane{ display:flex; flex-direction:column; gap:8px; position:relative; padding:12px; border-radius:16px; background:var(--nx-paper); }
.dmx .am-lane:not(:last-child)::after{ content:''; position:absolute; right:-12px; top:22px; width:10px; height:10px; border-top:2px solid #B8C3D3; border-right:2px solid #B8C3D3; transform:rotate(45deg); }
.dmx .am-lane-h{ font-size:.75rem; font-weight:700; color:var(--nx-ink-3); }
.dmx .am-node{ display:flex; align-items:center; gap:8px; padding:10px; border-radius:12px; background:#fff; border:1px dashed #D2D9E3; font-size:.8125rem; color:var(--nx-ink-3); }
.dmx .am-node.is-on{ border:1px solid var(--nx-blue); color:var(--nx-ink); font-weight:600; box-shadow:0 4px 14px -6px rgba(20,82,240,.35); }
.dmx .am-node-ic{ width:28px; height:28px; border-radius:8px; background:var(--nx-paper); color:var(--nx-ink-3); display:inline-flex; align-items:center; justify-content:center; flex:none; }
.dmx .am-node.is-on .am-node-ic, .dmx .am-card .am-node-ic{ background:var(--nx-blue-50); color:var(--nx-blue); }
.dmx .am-cards{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; }
.dmx .am-card{ border:1px solid var(--nx-line); border-radius:14px; padding:14px; display:flex; flex-direction:column; gap:10px; }
.dmx .am-card-h{ display:flex; align-items:center; gap:10px; font-size:.9375rem; }
.dmx .am-fix{ list-style:disc; padding-left:18px; font-size:.8125rem; color:var(--nx-ink-2); display:flex; flex-direction:column; gap:4px; }
.dmx .am-card-f{ margin-top:auto; display:flex; justify-content:space-between; gap:8px; align-items:center; font-size:.75rem; color:var(--nx-ink-3); flex-wrap:wrap; }
.dmx .am-card-f a{ font-weight:600; }
.dmx .am-gantt{ border:1px solid var(--nx-line); border-radius:14px; overflow:hidden; }
.dmx .am-g-row{ display:grid; grid-template-columns:200px minmax(0,1fr); align-items:center; border-top:1px solid #EEF1F5; font-size:.8125rem; }
.dmx .am-g-row > span{ padding:10px 12px; font-weight:600; }
.dmx .am-g-head{ border-top:0; background:#FAFBFC; font-size:.6875rem; color:var(--nx-ink-3); }
.dmx .am-g-weeks{ display:grid; grid-template-columns:repeat(10, 1fr); }
.dmx .am-g-weeks span{ text-align:center; padding:8px 0; border-left:1px solid #EEF1F5; }
.dmx .am-g-track{ position:relative; height:42px; background-image:linear-gradient(90deg, #EEF1F5 1px, transparent 1px); background-size:10% 100%; }
.dmx .am-g-bar{ position:absolute; top:8px; height:26px; border-radius:7px; background:var(--nx-blue); color:#fff; font-size:.6875rem; font-weight:600; display:flex; align-items:center; padding:0 8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dmx .am-g-bar.is-dx{ background:var(--nx-ink); }
.dmx .am-g-bar.is-ongoing{ background:var(--nx-blue-50); color:var(--nx-blue-d); box-shadow:inset 0 0 0 1px #BCCDFB; }
.dmx .am-g-bar.is-pilot{ background:var(--nx-won); }
.dmx .am-budget tfoot th{ border-top:1.5px solid var(--nx-ink); padding:10px 12px; font-size:.875rem; }
.dmx .am-budget td{ white-space:normal; }
.dmx .am-notes{ display:flex; flex-direction:column; gap:6px; margin-top:12px; font-size:.8125rem; color:var(--nx-ink-2); max-width:72ch; }
.dmx .am-g360{ color:var(--nx-blue-d); font-weight:600; }
.dmx .am-cta{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-top:28px; padding:20px; border-radius:16px; background:var(--nx-ink); color:#fff; }
.dmx .am-cta p{ color:#C2CCDC; font-size:.875rem; margin-top:2px; }
.dmx .am-cta-b{ display:flex; gap:10px; flex-wrap:wrap; }
.dmx .am-cta .dm-btn--ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.35); }

/* contadores */
.dmx .ct-note .ct-note-ic{ width:30px; height:30px; border-radius:9px; background:var(--nx-paper); display:inline-flex; align-items:center; justify-content:center; flex:none; color:var(--nx-ink-2); }
.dmx .ct-note.is-warn .ct-note-ic{ background:var(--nx-warn-50); color:var(--nx-warn-text); }
.dmx .ct-note.is-brand .ct-note-ic{ background:var(--dm-brand-50); color:var(--dm-brand-text); }
.dmx .ct-searchbox{ display:flex; align-items:center; gap:10px; border:1px solid var(--nx-line); border-radius:12px; padding:0 12px; background:#fff; color:var(--nx-ink-3); }
.dmx .ct-searchbox:focus-within{ border-color:var(--dm-brand); box-shadow:0 0 0 3px var(--dm-brand-100); }
.dmx .ct-search{ border:0!important; box-shadow:none!important; height:44px; font-size:.9375rem; }
.dmx .ct-res{ display:flex; flex-direction:column; gap:12px; }
.dmx .ct-conn-n{ display:inline-flex; align-items:center; gap:8px; }
.dmx .ct-digits{ display:flex; gap:4px; flex-wrap:wrap; }
.dmx .ct-digit{ width:34px; height:34px; border-radius:9px; border:1px solid var(--nx-line); background:#fff; font-family:var(--nx-display); font-weight:600; }
.dmx .ct-digit.is-on{ background:var(--dm-brand); color:var(--dm-on-brand); border-color:var(--dm-brand); }
.dmx .ct-next{ display:flex; gap:10px; align-items:center; background:var(--dm-brand-50); color:var(--dm-brand-text); border-radius:12px; padding:10px 12px; }
.dmx .ct-next span{ display:flex; flex-direction:column; }
.dmx .ct-next small{ color:var(--nx-ink-2); font-size:.75rem; }
.dmx .ct-doc{ min-width:0; }
.dmx .ct-docsheet{ border:1px solid var(--nx-line); border-radius:12px; min-height:340px; }
.dmx .ct-doc-t{ font-family:var(--nx-display); font-size:16px; margin:18px 0 10px; }
.dmx .ct-doc-p{ font-size:12.5px; color:#2B3A52; line-height:1.6; margin-bottom:10px; }

/* inmobiliarias */
.dmx .im-site{ background:#fff; border:1px solid var(--nx-line); border-radius:12px; overflow:hidden; }
.dmx .im-nav{ display:flex; align-items:center; gap:10px; padding:12px 16px; border-bottom:1px solid #EEF1F5; flex-wrap:wrap; }
.dmx .im-nav-i{ font-size:.8125rem; color:var(--nx-ink-2); padding:4px 8px; border-radius:6px; }
.dmx .im-nav-i.is-on{ color:var(--dm-brand-text); background:var(--dm-brand-50); font-weight:600; }
.dmx .im-hero{ padding:16px; background:linear-gradient(180deg, var(--dm-brand-50), #fff); display:flex; flex-direction:column; gap:10px; }
.dmx .im-hero strong{ font-family:var(--nx-display); font-size:1.25rem; }
.dmx .im-filters{ display:flex; gap:6px; flex-wrap:wrap; }
.dmx .im-filter{ background:#fff; border:1px solid var(--nx-line); border-radius:999px; padding:5px 11px; font-size:.75rem; font-weight:600; }
.dmx .im-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; padding:16px; }
.dmx .im-card{ border:1px solid #E6EAF0; border-radius:12px; overflow:hidden; }
.dmx .im-card-tx{ display:flex; flex-direction:column; gap:2px; padding:9px 10px 11px; text-align:left; }
.dmx .im-card-tx strong{ font-size:.875rem; }
.dmx .im-card-tx small{ font-size:.75rem; color:var(--nx-ink-2); }
.dmx .im-price{ font-weight:700; font-size:.875rem; color:var(--nx-ink); margin-top:2px; }
.dmx .im-price--lg{ font-family:var(--nx-display); font-size:1.375rem; }
.dmx .im-mlist{ display:flex; flex-direction:column; gap:10px; }
.dmx .im-mcard{ border:1px solid #E6EAF0; border-radius:14px; overflow:hidden; background:#fff; padding:0; display:flex; flex-direction:column; width:100%; font:inherit; color:inherit; }
.dmx .im-mcard:hover{ border-color:var(--dm-brand-300); }
.dmx .im-hero-img{ aspect-ratio:4/3; }
.dmx .im-terms{ display:flex; flex-direction:column; gap:6px; border:1px solid #E6EAF0; border-radius:12px; padding:10px 12px; font-size:.8125rem; }
.dmx .im-terms div{ display:flex; justify-content:space-between; gap:10px; }
.dmx .im-terms dt{ color:#666; } .dmx .im-terms dd{ font-weight:600; text-align:right; }
.dmx .im-signimg{ height:40px; width:auto; border-bottom:1px solid var(--nx-ink); }
.dmx .im-photos{ display:grid; grid-template-columns:repeat(3, 1fr); gap:6px; }
.dmx .im-photos .dm-thumb{ border-radius:8px; aspect-ratio:1; }
.dmx .dm-thumb-tag.is-won{ background:var(--nx-won); color:#fff; }
@container dmm (max-width:660px){ .dmx .im-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }

/* seguros: secuencia */
.dmx .sg-seq{ display:flex; flex-direction:column; gap:2px; }
.dmx .sg-seq-i{ display:grid; grid-template-columns:40px 28px minmax(0,1fr) auto; gap:10px; align-items:center; padding:9px 4px; border-bottom:1px solid #EEF1F5; font-size:.8125rem; }
.dmx .sg-seq-d{ font-family:var(--nx-display); font-weight:600; color:var(--nx-ink-2); }
.dmx .sg-seq-ic{ width:28px; height:28px; border-radius:8px; background:var(--nx-paper); display:inline-flex; align-items:center; justify-content:center; color:var(--nx-ink-2); }
.dmx .sg-seq-i.is-done .sg-seq-ic{ background:var(--nx-won-50); color:var(--nx-won-text); }

/* asociaciones: comunidad */
.dmx .cm-app{ display:flex; flex-direction:column; height:100%; background:#F4F5F7; font-family:var(--nx-app); }
.dmx .cm-top{ display:flex; align-items:center; gap:10px; padding:4px 14px 8px; background:#fff; }
.dmx .cm-top strong{ font-size:1.0625rem; }
.dmx .cm-tabs{ display:flex; gap:4px; padding:0 10px 8px; background:#fff; border-bottom:1px solid #ECEDEF; overflow-x:auto; scrollbar-width:none; }
.dmx .cm-tab{ font-size:.75rem; font-weight:600; padding:6px 10px; border-radius:999px; color:#556; white-space:nowrap; }
.dmx .cm-tab.is-on{ background:var(--dm-brand-50); color:var(--dm-brand-text); }
.dmx .cm-scroll{ flex:1; overflow-y:auto; overscroll-behavior:contain; }
.dmx .cm-feed{ display:flex; flex-direction:column; gap:8px; padding:8px 0 24px; }
.dmx .cm-post{ background:#fff; padding:12px 0 10px; }
.dmx .cm-post-h{ display:flex; align-items:center; gap:10px; padding:0 12px 8px; }
.dmx .cm-post-h span{ display:flex; flex-direction:column; line-height:1.2; }
.dmx .cm-post-h strong{ font-size:.8125rem; } .dmx .cm-post-h small{ font-size:.6875rem; color:#777; }
.dmx .cm-av{ border-radius:50%; }
.dmx .cm-tx{ padding:0 12px 8px; font-size:.8125rem; line-height:1.45; color:#222; }
.dmx .cm-media .dm-piece{ border-radius:0; }
.dmx .cm-acts{ display:flex; gap:16px; padding:8px 12px 4px; }
.dmx .cm-act{ display:inline-flex; align-items:center; gap:5px; border:0; background:transparent; font-size:.75rem; color:#444; padding:4px 0; font-family:inherit; }
.dmx .cm-act.is-on{ color:#E5484D; } .dmx .cm-act.is-on svg{ fill:#E5484D; }
.dmx .cm-act:last-child{ margin-left:auto; }
.dmx .cm-coms{ display:flex; flex-direction:column; gap:3px; padding:2px 12px; }
.dmx .cm-com{ font-size:.75rem; color:#333; line-height:1.4; }
.dmx .cm-form{ display:flex; gap:6px; padding:6px 12px 0; }
.dmx .cm-in{ flex:1; min-width:0; border:1px solid #E3E6EA; border-radius:999px; padding:0 12px; height:32px; font-size:.75rem; font-family:inherit; }
.dmx .cm-in:focus{ border-color:var(--dm-brand); outline:none; }
.dmx .cm-send{ width:32px; height:32px; border-radius:50%; border:0; background:var(--dm-brand); color:var(--dm-on-brand); display:inline-flex; align-items:center; justify-content:center; }
.dmx .cm-flag{ border-color:#F6DDA8; background:var(--nx-warn-50); }
.dmx .cm-flag.is-done{ opacity:.55; }

/* abogados: red de sitios */
.dmx .ab-site{ border:0; background:none; color:var(--dm-brand-text); font:inherit; font-weight:600; padding:0; cursor:pointer; text-align:left; }
.dmx .dm-table tr.is-sel td{ background:var(--dm-brand-50); }

@media (max-width:980px){
  .dmx .am-sectors{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .dmx .am-flow{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .dmx .am-lane:nth-child(2)::after{ display:none; }
  .dmx .am-cards{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:640px){
  .dmx .am-top{ padding:10px 12px; }
  .dmx .am-body{ padding:18px 14px; }
  .dmx .am-h{ font-size:1.4rem; }
  .dmx .am-steps .am-step span:last-child{ display:none; }
  .dmx .am-step.is-on span:last-child{ display:inline; }
  .dmx .am-probs, .dmx .am-cards, .dmx .am-flow{ grid-template-columns:minmax(0,1fr); }
  .dmx .am-lane::after{ display:none; }
  .dmx .am-sector{ min-height:96px; padding:14px; }
  .dmx .am-g-row{ grid-template-columns:110px minmax(0,1fr); }
  .dmx .am-g-row > span{ font-size:.6875rem; padding:8px; }
  .dmx .am-g-weeks span{ font-size:.5625rem; }
  .dmx .am-g-bar{ font-size:.5625rem; padding:0 4px; }
  .dmx .dm-hub-mini--map{ grid-template-columns:repeat(2,1fr); }
}

/* ═══════════════════ RESPONSIVE ═══════════════════ */
/* dentro del navegador: se adapta al ancho real del CRM, no al de la ventana */
@container dmb (max-width:820px){
  .dmx .dm-shell{ grid-template-columns:62px minmax(0,1fr); }
  .dmx .dm-side-lbl, .dmx .dm-side-wstx, .dmx .dm-side-me span{ display:none; }
  .dmx .dm-side-i{ justify-content:center; padding:0; position:relative; }
  .dmx .dm-side-badge{ position:absolute; top:1px; right:4px; min-width:16px; height:15px; font-size:.5625rem; padding:0 4px; }
  .dmx .dm-side-ws, .dmx .dm-side-me{ justify-content:center; }
}
@container dmm (max-width:780px){
  .dmx .dm-ib{ grid-template-columns:200px minmax(0,1fr); }
  .dmx .dm-ib-col3{ display:none; }
  .dmx .dm-lf-grid{ grid-template-columns:minmax(0,1fr) 230px; gap:16px; }
  .dmx .dm-top-search{ display:none; }
}
@container dmm (max-width:660px){
  .dmx .dm-q{ grid-template-columns:minmax(0,1fr); }
  .dmx .dm-q-preview{ position:static; }
  .dmx .dm-lf-grid{ grid-template-columns:minmax(0,1fr); }
  .dmx .dm-pub{ grid-template-columns:minmax(0,1fr); }
  .dmx .dm-pub-prev{ max-width:320px; }
  .dmx .dm-dash-2, .dmx .dm-grid2{ grid-template-columns:minmax(0,1fr); }
}
@container dmm (max-width:520px){
  .dmx .dm-ib{ grid-template-columns:minmax(0,1fr); }
  .dmx .dm-ib-col1{ display:none; }
  .dmx .dm-kv{ grid-template-columns:minmax(0,1fr); }
  .dmx .dm-ib-headr .dm-ib-agent{ display:none; }
}
@media (max-width:980px){
  .dmx .dm-head{ grid-template-columns:1fr; gap:14px; }
  .dmx .dm-explain{ grid-template-columns:1fr; gap:32px; }
  .dmx .dm-explain-side{ position:static; }
  .dmx .dm-others-list{ grid-template-columns:1fr 1fr; }
  .dmx .dm-band{ grid-template-columns:auto minmax(0,1fr); }
  .dmx .dm-navs{ grid-column:1/-1; justify-content:flex-end; }
  .dmx .dm-scene{ grid-template-columns:minmax(0,1fr); padding:12px 16px 20px; gap:0; }
  .dmx .dm-devtabs{ display:flex; gap:4px; background:#E8ECF2; border-radius:12px; padding:4px; margin:4px auto 14px; width:fit-content; }
  .dmx .dm-devtab{ display:inline-flex; align-items:center; gap:6px; border:0; background:transparent; border-radius:9px; padding:8px 14px; font-weight:600; font-size:.875rem; color:var(--nx-ink-2); }
  .dmx .dm-devtab.is-on{ background:#fff; color:var(--nx-ink); box-shadow:0 1px 2px rgba(11,27,51,.12); }
  .dmx .dm-dev{ display:none; opacity:1!important; filter:none!important; }
  .dmx .dm-dev.is-active{ display:block; }
  .dmx .dm-dev-cap{ display:none; }
}
@media (max-width:640px){
  main.dmx{ padding-top:18px; }
  .dmx .dm-wrap{ padding:0 16px; }
  .dmx .dm-h1{ font-size:2rem; }
  .dmx .dm-lead{ font-size:1rem; }
  .dmx .dm-wrap--wide{ padding:0 8px; }
  .dmx .dm-toolbar{ gap:6px; }
  .dmx .dm-toolbar .dm-btn--quiet span:not(.dm-ic){ display:none; }
  .dmx .dm-toolbar .dm-btn--primary{ order:5; width:100%; }
  .dmx .dm-toolbar-sp{ display:none; }
  .dmx .dm-seg--lg .dm-seg-i{ padding:7px 9px; font-size:.8125rem; }
  .dmx .dm-toolbar .dm-btn--quiet{ padding:0 9px; height:38px; }
  .dmx .dm-stage{ border-radius:16px; }
  /* la narración queda pegada abajo mientras recorres la demo */
  .dmx .dm-band{ order:3; position:sticky; bottom:0; z-index:20; grid-template-columns:auto minmax(0,1fr); grid-template-areas:"c s" "n n"; gap:8px 12px; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); border-bottom:0; border-top:1px solid var(--nx-line); box-shadow:0 -8px 24px rgba(11,27,51,.08); }
  .dmx .dm-clock{ grid-area:c; min-width:0; gap:8px; }
  .dmx .dm-say{ grid-area:s; align-self:center; }
  .dmx .dm-navs{ grid-area:n; gap:6px; }
  .dmx .dm-steps{ order:0; padding:4px 12px 0; gap:4px; }
  .dmx .dm-step{ padding:8px 0 6px; }
  .dmx .dm-step-t{ display:none; }
  .dmx .dm-scene{ order:1; padding:10px 8px 16px; border-top:0; }
  .dmx .dm-clock-ic{ display:none; }
  .dmx .dm-clock-t{ font-size:1.6rem; }
  .dmx .dm-clock-day{ font-size:.625rem; }
  .dmx .dm-say-meta{ display:none; }
  .dmx .dm-say-title{ font-size:.9375rem; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .dmx .dm-say-text{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:.8125rem; line-height:1.35; }
  .dmx .dm-navbtn{ width:44px; height:42px; flex:none; }
  .dmx .dm-btn--next{ height:42px; flex:1; }
  .dmx .dm-phone{ width:300px; }
  .dmx .dm-ph-screen{ height:590px; }
  .dmx .dm-browser{ height:600px; border-radius:12px; }
  .dmx .dm-br-bar{ height:34px; }
  .dmx .dm-br-dots, .dmx .dm-br-sp{ display:none; }
  .dmx .dm-shell{ grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); }
  .dmx .dm-side{ flex-direction:row; padding:6px; border-right:0; border-bottom:1px solid var(--nx-line); gap:0; }
  .dmx .dm-side-ws, .dmx .dm-side-me{ display:none; }
  .dmx .dm-side-nav{ flex-direction:row; overflow-x:auto; scrollbar-width:none; gap:4px; }
  .dmx .dm-side-i{ width:auto; flex:none; padding:0 10px; gap:6px; }
  .dmx .dm-side-lbl{ display:inline; }
  .dmx .dm-side-badge{ position:static; }
  .dmx .dm-top{ height:46px; padding:0 12px; }
  .dmx .dm-top-search{ display:none; }
  .dmx .dm-view{ padding:12px; }
  .dmx .dm-notifs{ left:10px; right:10px; width:auto; top:52px; }
  .dmx .dm-kb-col{ flex-basis:200px; min-width:200px; }
  .dmx .dm-form-grid{ grid-template-columns:1fr; }
  .dmx .dm-others-list{ grid-template-columns:1fr; }
  .dmx .dm-dialog-in{ padding:24px 18px 20px; }
  .dmx .dm-explain{ margin-top:44px; }
  /* los botones flotantes del sitio taparían la narración en móvil */
  .float{ display:none!important; }
}
@media (prefers-reduced-motion: reduce){
  .dmx *, .dmx *::before, .dmx *::after{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
}

/* vista previa embebida (módulo Demos de la app) */
body.dmx-embed{ margin:0; background:#F3F5F8; }
body.dmx-embed main.dmx{ padding-top:18px; }
body.dmx-embed .dm-explain, body.dmx-embed .dm-others, body.dmx-embed .dm-crumbs{ display:none; }

/* Portafolio destacado (hub) */
.dm-port{padding-block:8px 40px}
.dm-port-t{font-family:var(--nx-display,'Space Grotesk',sans-serif);font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.02em;margin:0 0 6px;text-wrap:balance}
.dm-port-l{color:#42516B;margin:0 0 20px;max-width:62ch}
.dm-port-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}
.dm-port-c{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px #DCE2EB;color:#0B1B33;text-decoration:none;transition:box-shadow .2s,transform .2s}
.dm-port-c:hover{box-shadow:inset 0 0 0 1px #1452F0,0 12px 30px -18px rgba(11,27,51,.35);transform:translateY(-2px)}
.dm-port-c b{color:#0B1B33;font-family:var(--nx-display,'Space Grotesk',sans-serif);font-size:1.08rem;font-weight:600}
.dm-port-c span{color:#42516B !important;font-size:.95rem;line-height:1.5}
.dm-port-c i{font-style:normal;color:#1452F0;font-weight:600;margin-top:auto}
@media (prefers-reduced-motion:reduce){.dm-port-c{transition:none}.dm-port-c:hover{transform:none}}

/* ═══════════════════ RONDA 4 · móvil (iPhone / Android) ═══════════════════ */
@media (max-width:640px){
  /* objetivos táctiles ≥44 px */
  .dmx .dm-seg--lg .dm-seg-i, .dmx .dm-toolbar .dm-seg-i{ min-height:44px; padding:0 11px; font-size:.875rem; }
  .dmx .dm-toolbar .dm-btn--quiet{ height:44px; min-width:44px; }
  .dmx .dm-toolbar .dm-btn--primary{ min-height:48px; }
  .dmx .dm-devtabs{ padding:3px; }
  .dmx .dm-devtab{ min-height:44px; padding:0 18px; font-size:.9375rem; }
  .dmx .dm-navbtn{ width:48px; height:48px; }
  .dmx .dm-btn--next{ height:48px; font-size:1rem; }
  .dmx .dm-step{ min-height:44px; justify-content:center; padding:0; }
  .dmx .dm-steps{ padding:0 12px; }
  .dmx .dm-wa-btn{ min-height:44px; font-size:.9375rem; }
  .dmx .dm-iconbtn{ width:44px; height:44px; margin:-8px -6px; }
  .dmx .dm-side-i{ min-height:44px; }
  .dmx .dm-ib-filters .dm-seg-i, .dmx .dm-seg-i{ min-height:36px; }
  .dmx .ct-digit{ width:44px; height:44px; }
  .dmx .dm-task{ min-height:48px; }
  .dmx .cm-act{ min-height:44px; }
  .dmx .cm-send, .dmx .cm-in{ height:44px; }
  .dmx .cm-send{ width:44px; }
  .dmx .dm-chip{ min-height:32px; }
  /* iOS no hace zoom al enfocar si el campo tiene ≥16 px */
  .dmx input:not([type=checkbox]):not([type=radio]):not([type=range]), .dmx select, .dmx textarea{ font-size:16px!important; }
  .dmx .dm-ib-input{ height:44px; }
  /* narración: más legible y nunca tapa el contenido ni el teclado */
  .dmx .dm-say-title{ font-size:1rem; }
  .dmx .dm-say-text{ font-size:.875rem; line-height:1.4; }
  .dmx .dm-clock-day{ font-size:.75rem; }
  .dmx .dm-stage.is-typing .dm-band{ position:static; box-shadow:none; }
  .dmx .dm-scene{ scroll-margin-top:72px; }
  /* flotantes del sitio fuera de las demos en móvil */
  .fabs, .chatw{ display:none!important; }
  /* embebida en una página: narración arriba, sin sticky dentro del iframe */
  body.dmx-embed .dmx .dm-band{ order:1; position:static; box-shadow:none; border-top:0; border-bottom:1px solid var(--nx-line); padding-bottom:10px; }
  body.dmx-embed .dmx .dm-scene{ order:2; }
  body.dmx-embed main.dmx{ padding-top:8px; }
  body.dmx-embed .dm-head .dm-lead{ display:none; }
}
@media (max-width:640px){
  /* teléfono y CRM caben entre la cabecera fija y la narración */
  .dmx .dm-ph-screen{ height:clamp(400px, calc(100svh - 300px), 590px); }
  .dmx .dm-browser{ height:clamp(420px, calc(100svh - 280px), 600px); }
  .dmx .dm-devtabs{ margin:2px auto 8px; }
  .dmx .dm-scene{ padding-top:6px; }
  .dmx .dm-band{ padding-top:8px; gap:6px 12px; }
  body.dmx-embed .dmx .dm-ph-screen{ height:560px; }
  body.dmx-embed .dmx .dm-browser{ height:580px; }
}
@supports not (height:100svh){
  @media (max-width:640px){
    .dmx .dm-ph-screen{ height:clamp(400px, calc(100vh - 300px), 590px); }
    .dmx .dm-browser{ height:clamp(420px, calc(100vh - 280px), 600px); }
  }
}
