:root{--ink:#14213a;--muted:#6d788d;--line:#dbe2ea;--surface:#fff;--bg:#edf2f6;--navy:#102c4f;--green:#11745e;--mint:#dff5ed;--cyan:#11a5c3;--warm:#f8f5ef;--shadow:0 18px 45px rgba(24,42,67,.12)}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;min-height:100%;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--bg)}
button,input{font:inherit}
a{color:inherit;text-decoration:none}
.app-shell{height:100vh;display:grid;grid-template-rows:auto auto 1fr;overflow:hidden}
/* Barra superior compartida con el brochure: misma anchura, logo y pestañas,
   para que nada "salte" al cambiar de sección. Mantener en espejo con brochure.html. */
.site-nav{background:#0a1b32;border-bottom:1px solid rgba(255,255,255,.08)}
.site-nav-inner{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 28px}
.brand-nav{display:flex;align-items:center;gap:11px;color:#fff}
.brand-nav img{height:30px;width:auto}
.brand-nav small{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.tabs-nav{display:flex;gap:6px;background:rgba(255,255,255,.07);padding:5px;border-radius:999px}
.tabs-nav a{padding:9px 20px;border-radius:999px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.7);white-space:nowrap}
.tabs-nav a.active{background:#149fbe;color:#fff}
.tabs-nav a:not(.active):hover{color:#fff;background:rgba(255,255,255,.08)}
/* Franja de rubros: fondo propio para separarla de la barra oscura y del área
   de trabajo blanca (figura/fondo), sin competir con el contenido. */
.topbar{display:flex;align-items:center;gap:28px;padding:9px 28px;background:#e9f0f6;border-bottom:1px solid #cfdce8;box-shadow:inset 0 -1px 0 rgba(16,44,79,.04);z-index:10}
.sector-tabs{display:flex;align-items:center;gap:10px;flex:1;overflow-x:auto;scrollbar-width:none}
.sector-tabs a,.sector-tabs span{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:10px 12px;border-radius:11px;color:#667186;font-size:12px;font-weight:700}
.sector-tabs .sector-label{padding:0 3px 0 0;color:#7c8799;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.sector-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#fff;color:#6f7b90;font-size:13px;font-style:normal;line-height:1}
.sector-icon.paw{background:#d9f0f3;color:#087d91;font-size:12px}
.sector-icon.medical{font-size:15px}.sector-icon.aesthetic{font-size:14px}.sector-icon.dental{font-size:13px}.sector-icon.doctors{font-size:17px;color:#9aa5b7}
.sector-tabs a:hover{background:#fff;color:var(--ink)}
.sector-tabs a.active{border:1px solid #7fc7d6;background:#fff;color:#066e82;box-shadow:0 5px 14px rgba(38,137,156,.14)}
.sector-tabs .coming{cursor:default;color:#8a94a5}
.isolation{display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:#e9f6f0;color:#14705d;font-size:11px;font-weight:700;white-space:nowrap}
.isolation i{width:7px;height:7px;border-radius:50%;background:#16a47b;box-shadow:0 0 0 4px rgba(22,164,123,.12)}
.workspace{min-height:0;display:grid;grid-template-columns:220px 1fr}
.sidebar{display:flex;flex-direction:column;padding:22px 16px 18px;background:var(--navy);color:#fff}
.client-card{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid rgba(255,255,255,.15);border-radius:15px;background:rgba(255,255,255,.07)}
.client-card img,.chat-header img{width:40px;height:40px;object-fit:cover;border-radius:11px}.client-card span,.chat-header span{display:grid;gap:2px}.client-card strong{font-size:12px}.client-card small{font-size:9px;color:#aebed1}
.sidebar-label{margin:24px 8px 9px;color:#8ca2bc;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.module-nav{display:grid;gap:7px}.module-nav a{display:grid;grid-template-columns:34px 1fr;align-items:center;column-gap:9px;padding:10px;border-radius:13px;color:#afbed0;position:relative}.module-nav a:hover{background:rgba(255,255,255,.05)}.module-nav a.active{background:rgba(255,255,255,.1);color:#fff;box-shadow:inset 3px 0 var(--cyan)}
.module-nav a>span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,.08);font-size:10px}.module-nav a.active>span{background:var(--cyan)}.module-nav b{font-size:12px}.module-nav small{font-size:9px;color:#7990ab}
.demo-note{margin-top:auto;padding:13px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.05)}.demo-note strong{font-size:10px}.demo-note p{margin:6px 0 0;color:#92a6bd;font-size:10px;line-height:1.5}
.content{min-width:0;min-height:0;padding:16px 18px 18px;background:linear-gradient(135deg,#f3f6f8 0%,#e8f2f5 100%)}
.module{height:100%;min-height:0}.module-heading{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 3px}.module-heading span{display:grid}.module-heading small,.decision-heading small{color:#17829a;font-size:9px;font-weight:800;letter-spacing:.12em}.module-heading h1{margin:3px 0 0;font:800 21px Manrope;letter-spacing:-.03em}.reset-button,.open-button{border:1px solid #cdd8e2;border-radius:9px;background:#fff;color:#42516a;padding:8px 12px;font-size:11px;font-weight:700;cursor:pointer}.reset-button:hover,.open-button:hover{border-color:#8fb3c3;color:#087d94}
.agent-module{display:grid;grid-template-rows:54px 1fr}.agent-grid{min-height:0;display:grid;grid-template-columns:minmax(540px,1fr) 370px;border:1px solid #d9e2e9;border-radius:21px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}
.chat-card{min-width:0;min-height:0;display:grid;grid-template-rows:64px 1fr 62px;border-right:1px solid var(--line);background:var(--warm)}
.chat-header{display:flex;align-items:center;gap:11px;padding:0 20px;background:var(--green);color:#fff}.chat-header strong{font-size:12px}.chat-header small{font-size:9px;color:#c9eadf}.chat-header i{margin-left:auto;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.13);font-size:9px;font-style:normal;font-weight:700}
.messages{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:22px;background-color:#f7f3ed;background-image:radial-gradient(#d7d0c5 1px,transparent 1px);background-size:18px 18px}
.empty-chat{margin:auto;text-align:center;max-width:360px;padding:24px;border:1px solid rgba(31,55,76,.1);border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 10px 25px rgba(34,48,68,.06)}.empty-chat span{display:grid;place-items:center;margin:0 auto 12px;width:43px;height:43px;border-radius:14px;background:var(--mint);color:var(--green);font-weight:800}.empty-chat strong{display:block;font:700 14px Manrope}.empty-chat p{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.bubble{max-width:76%;padding:11px 13px;border-radius:14px;font-size:12px;line-height:1.5;white-space:pre-line;box-shadow:0 3px 8px rgba(27,43,59,.08)}.bubble.user{align-self:flex-end;background:#d7f5cd;border-bottom-right-radius:4px}.bubble.agent{align-self:flex-start;background:#fff;border-bottom-left-radius:4px}.bubble.system{align-self:center;background:#fff3d6;color:#785b1d;border:1px solid #f0d89d;text-align:center}.bubble.typing{opacity:.65}.frame-hint{display:inline-block;margin-top:5px;padding:3px 9px;border-radius:7px;background:#eef4f8;border:1px solid #d5e2ec;color:#4a5b73;font-size:10.5px;font-weight:600}
.team-alert{align-self:stretch;margin:10px 0;padding:12px 14px;border-radius:12px;background:#fff7ed;border:1px solid #f4c98a;box-shadow:0 3px 8px rgba(27,43,59,.08)}.team-alert header{font-size:12px;font-weight:800;color:#9a5b09}.team-alert small{display:block;margin-top:2px;font-size:11px;color:#a97c46}.team-alert pre{margin:9px 0 0;padding:10px;border-radius:9px;background:#fff;border:1px solid #f0dcc0;font-family:inherit;font-size:11.5px;line-height:1.55;color:#4a3a26;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto}.bubble-media{display:block;width:100%;max-width:260px;margin-top:8px;border-radius:10px;background:rgba(0,0,0,.05)}.bubble a{display:block;margin-top:8px;padding:9px;border-radius:10px;background:rgba(255,255,255,.65);color:#087e9c;font-weight:700}
.composer{display:grid;grid-template-columns:1fr 42px;gap:9px;padding:10px 14px;background:#eeeae4;border-top:1px solid #dfd9d0}.composer input{width:100%;border:1px solid transparent;border-radius:999px;padding:0 17px;outline:0;font-size:12px}.composer input:focus{border-color:#75bed0}.composer button{border:0;border-radius:50%;background:var(--green);color:#fff;font-size:19px;cursor:pointer}.composer button:hover{background:#0c604f}.composer button:disabled{opacity:.45;cursor:wait}
.handoff-state{align-self:stretch;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;margin-top:2px;padding:13px 14px;border:1px solid #91cdbd;border-radius:14px;background:linear-gradient(135deg,#f7fffb,#e8f7f1);box-shadow:0 8px 18px rgba(21,116,94,.1)}.handoff-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--green);color:#fff;font-size:19px;font-weight:800}.handoff-state>div{display:grid;gap:3px}.handoff-state small{color:#168269;font-size:8px;font-weight:800;letter-spacing:.1em}.handoff-state strong{font:800 12px Manrope}.handoff-state p{margin:0;color:#65766f;font-size:9px;line-height:1.4}.handoff-state button{border:1px solid #99cabc;border-radius:9px;background:#fff;color:#126d59;padding:8px 10px;font-size:9px;font-weight:800;cursor:pointer}.handoff-state button:hover{border-color:#14846a;background:#f2fbf7}.composer.paused{background:#e5eee9}.composer.paused input{background:#f4f7f5;color:#77847f}.composer.paused button{background:#82958f}
.decision-panel{min-height:0;overflow:auto;display:flex;flex-direction:column;padding:26px 22px 20px;background:linear-gradient(160deg,#fbfdfe 20%,#f1f7f8)}.decision-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}.decision-heading h2{margin:6px 0 0;font:800 21px Manrope}.decision-heading>span{padding:8px 10px;border-radius:999px;background:#e7f7ef;color:#167258;font-size:9px;font-weight:800;white-space:nowrap}.decision-panel ol{display:grid;grid-template-rows:repeat(4,minmax(70px,1fr));gap:11px;flex:1;min-height:330px;padding:0;margin:18px 0 14px;list-style:none}.decision-panel li{display:grid;grid-template-columns:42px 1fr 26px;align-items:center;gap:12px;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#fff}.decision-panel li>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e5f5f7;color:#13829a;font-size:11px;font-weight:800}.decision-panel li div{display:grid;gap:5px}.decision-panel li strong{font-size:12px}.decision-panel li small{font-size:10px;line-height:1.35;color:var(--muted)}.decision-panel li i{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#158f6f;color:#fff;font-size:11px;font-style:normal}.decision-panel li.active{border-color:#52af9a;box-shadow:0 0 0 2px rgba(48,159,133,.1)}
.current-result{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;min-height:82px;padding:14px 16px;border-radius:14px;background:var(--green);color:#fff}.current-result>b{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#d9f7ec;color:#08735b;font-size:24px}.current-result>div{display:grid;gap:5px}.current-result span{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.current-result strong{font-size:13px;line-height:1.3}.safe-note{margin:12px 0 0;padding:12px 13px;border:1px solid #f0d8a5;border-radius:11px;background:#fff7e8;color:#806021;font-size:12px;line-height:1.55}.safe-note b{font-weight:800}.agent-rules{display:grid;grid-template-rows:auto minmax(190px,1fr) auto;flex:1;min-height:290px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.agent-rules>header{display:flex;align-items:end;justify-content:space-between;gap:12px}.agent-rules>header small{color:#728097;font-size:11px;font-weight:800;letter-spacing:.12em}.agent-rules>header strong{font:800 21px Manrope}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 11px}.rule-grid article{display:flex;flex-direction:column;justify-content:center;min-height:82px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}.rule-grid article strong{font-size:14px}.rule-grid article small{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.5}.agent-rules>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border-radius:10px;background:#e5f6ef;color:#176b58}.agent-rules>footer span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800}.agent-rules>footer span i{width:8px;height:8px;border-radius:50%;background:#159570;box-shadow:0 0 0 4px rgba(21,149,112,.12)}.agent-rules>footer small{font-size:11px;color:#5f827a}
.frame-module{display:grid;grid-template-rows:54px 1fr}.frame-module iframe{width:100%;height:100%;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.sector-icon.events{background:#f3e6ef}
.bodas-module{height:100%;min-height:0;display:grid;grid-template-rows:54px 1fr}
.ads-layout{min-height:0;overflow:auto;display:flex;align-items:center;padding:12px 2px}
.ads-inner{width:100%;display:grid;grid-template-columns:minmax(290px,380px) 1fr;gap:26px;align-items:center}
.ad-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow);max-width:380px}
.ad-top{display:flex;align-items:center;gap:9px;padding:12px 14px}
.ad-top img{width:40px;height:40px;border-radius:11px;object-fit:cover}
.ad-top strong{display:block;font-size:12px}.ad-top small{color:var(--muted);font-size:9px}
.ad-body{padding:0 14px 12px;font-size:11px;line-height:1.55}
.ad-img{width:100%;display:block;aspect-ratio:1/1;object-fit:cover}
.ad-link{display:flex;align-items:center;gap:11px;padding:12px 14px;background:#f4f6f8;border-top:1px solid var(--line)}
.ad-link>div{min-width:0;flex:1}
.ad-link small{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.04em}
.ad-link strong{display:block;font-size:11px}
.ad-cta{flex:0 0 auto;min-height:34px;display:inline-flex;align-items:center;padding:0 14px;border-radius:9px;color:#fff;background:var(--green);font-size:9px;font-weight:800;text-decoration:none}
.ads-right{min-width:0}
.ads-right .eyebrow{color:#17829a;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ads-right h2{margin:4px 0 15px;font:800 21px Manrope;letter-spacing:-.03em}
.ads-metrics{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px}
.ads-metric{flex:1;min-width:92px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:center}
.ads-metric b{display:block;font:800 19px Manrope;color:var(--green)}
.ads-metric span{font-size:8px;color:var(--muted)}
.ads-steps{display:grid;gap:9px}
.ads-step{display:grid;grid-template-columns:29px 1fr auto;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}
.ads-step i{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:var(--mint);color:var(--green);font-style:normal;font-weight:800;font-size:11px}
.ads-step strong{display:block;font-size:11px}.ads-step small{color:var(--muted);font-size:9px}
.ads-step em{margin-left:auto;color:#9fb0a9;font-style:normal}
.ads-note{margin-top:14px;display:flex;gap:9px;padding:12px;border:1px solid #efe1c2;border-radius:12px;background:var(--warm);font-size:9px;color:#87682a;line-height:1.5}
.coming-panel{display:grid;place-items:center;min-height:280px;border:1px dashed #c4d0da;border-radius:18px;background:#fff;color:var(--muted);font-size:12px;text-align:center;padding:24px;line-height:1.6}
.coming-panel b{color:var(--ink);font:700 15px Manrope}
@media(max-width:1050px){.agent-grid{grid-template-columns:minmax(500px,1fr) 320px}.sector-tabs{gap:4px}.sector-tabs a,.sector-tabs span{padding:9px 7px;font-size:10px}.sector-tabs .sector-label{display:none}.sector-icon{width:22px;height:22px}.isolation{display:none}.decision-panel{padding:20px 16px 16px}.decision-heading>span{display:none}.decision-panel ol{grid-template-rows:repeat(4,minmax(66px,1fr));min-height:300px}.decision-panel li{grid-template-columns:36px 1fr 22px;padding:10px;gap:8px}.decision-panel li>span{width:33px;height:33px}.decision-panel li strong{font-size:11px}.decision-panel li small{font-size:9px}.agent-rules{min-height:265px}.rule-grid article{min-height:74px;padding:9px}}
@media(max-width:820px){.app-shell{height:auto;min-height:100vh;grid-template-rows:auto auto 1fr;overflow:visible}.topbar{padding:10px 14px;flex-wrap:wrap;gap:10px}.site-nav-inner{width:auto;padding:9px 14px;flex-wrap:wrap;justify-content:center}.tabs-nav a{padding:7px 13px;font-size:12px}.sector-tabs{order:3;width:100%}.workspace{grid-template-columns:1fr}.sidebar{padding:10px 12px}.client-card,.sidebar-label,.demo-note{display:none}.module-nav{grid-template-columns:repeat(3,1fr)}.module-nav a{grid-template-columns:28px 1fr;padding:8px}.content{min-height:760px;padding:10px}.agent-grid{grid-template-columns:1fr}.decision-panel{display:none}.chat-card{border-right:0}.module-heading h1{font-size:17px}}

/* Módulo CRM de bodas: heading + hint + iframe */
.bodas-module[data-module-view="crm"]{display:grid;grid-template-rows:auto auto 1fr;gap:10px}
.bodas-module[data-module-view="crm"] iframe{width:100%;height:100%;min-height:430px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.crm-login-hint{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:11px;background:#eef6ff;border:1px solid #d4e6fa;color:#365a85;font-size:12px}
.crm-login-hint b{font-weight:800}
