:root{--bg: #f4f5f7;--panel: #ffffff;--line: #e3e5e9;--line-2: #eef0f3;--txt: #1b1f27;--txt-2: #4d5563;--txt-3: #6b7280;--brand: #0f766e;--brand-2: #0d5f59;--brand-soft: #e6f4f2;--side: #121821;--side-2: #1c2430;--side-txt: #c9d1dc;--red: #b42318;--red-soft: #fdecea;--amber: #a15c07;--amber-soft: #fdf3e1;--green: #137a3a;--green-soft: #e7f6ec;--blue: #1d4ed8;--blue-soft: #e8eefc;--violet: #6d28d9;--violet-soft: #f1ebfd;--gray-soft: #eef0f3;--bubble-in: #ffffff;--bubble-out: #dcf3ee;--note: #fff7d6;--radius: 10px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font:14px/1.45 var(--font);color:var(--txt);background:var(--bg)}h1{font-size:22px;margin:0;letter-spacing:-.01em}h2{font-size:16px;margin:0}h3{font-size:14px;margin:0 0 8px}p{margin:0 0 8px}a{color:var(--brand)}.muted{color:var(--txt-3)}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:760px){.grid-2,.grid-3{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--txt);font:500 13px var(--font);cursor:pointer;white-space:nowrap}.btn:hover{background:var(--line-2)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-2)}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--line-2)}.btn.sm{height:30px;padding:0 10px;font-size:12px}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--brand);outline-offset:1px}input,select,textarea{font:14px var(--font);color:var(--txt);background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%}textarea{resize:vertical;min-height:80px}input[type=checkbox],input[type=radio]{width:auto}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.field-label{font-size:12px;font-weight:600;color:var(--txt-2)}.field-hint{font-size:12px;color:var(--txt-3)}.check{display:flex;gap:8px;align-items:center;margin-bottom:10px;cursor:pointer}.layout{display:grid;grid-template-columns:232px 1fr;height:100%}.side{background:var(--side);color:var(--side-txt);display:flex;flex-direction:column;overflow-y:auto}.side .logo{padding:18px 18px 14px;font-weight:800;letter-spacing:.02em;color:#fff;font-size:17px}.side .logo span{color:#5eead4}.side nav{display:flex;flex-direction:column;padding:4px 10px;gap:1px}.side .grupo{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7d8898;padding:14px 10px 4px}.side a{color:var(--side-txt);text-decoration:none;padding:8px 10px;border-radius:7px;display:flex;gap:8px;align-items:center}.side a:hover{background:var(--side-2);color:#fff}.side a.active{background:var(--side-2);color:#fff;box-shadow:inset 3px 0 #5eead4}.side .count{margin-left:auto;background:#f59e0b;color:#111;border-radius:10px;padding:0 7px;font-size:11px;font-weight:700}.side .yo{margin-top:auto;padding:14px;border-top:1px solid var(--side-2);font-size:13px}.side .yo select{background:var(--side-2);color:#fff;border-color:#2c3644;margin:8px 0}.side .yo button{color:var(--side-txt);background:none;border:0;padding:0;cursor:pointer;font:inherit;text-decoration:underline}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#9ca3af}.dot.online{background:#22c55e}.dot.away{background:#f59e0b}.main{overflow-y:auto;min-width:0}.page{padding:24px 28px;max-width:1240px}.page-header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap}.page-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.page-actions input,.page-actions select{width:auto}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:16px}.offline-bar{background:var(--amber-soft);color:var(--amber);padding:6px 16px;font-size:13px}@media(max-width:860px){.layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.side{flex-direction:row;overflow-x:auto}.side nav{flex-direction:row}.side .grupo,.side .yo{display:none}}.table-wrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;font-weight:600;color:var(--txt-3);background:#fafbfc;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}tr:last-child td{border-bottom:0}tr.click{cursor:pointer}tr.click:hover td{background:#fafbfc}.toolbar{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.toolbar input,.toolbar select{width:auto;min-width:200px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge.green{background:var(--green-soft);color:var(--green)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.blue{background:var(--blue-soft);color:var(--blue)}.badge.violet{background:var(--violet-soft);color:var(--violet)}.badge.gray{background:var(--gray-soft);color:var(--txt-2)}.tag-chip{display:inline-flex;align-items:center;gap:5px;padding:1px 8px;border-radius:999px;font-size:12px;background:color-mix(in srgb,var(--c) 14%,white);color:color-mix(in srgb,var(--c) 80%,black)}.tag-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c)}.modal-fondo{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--panel);border-radius:12px;width:min(520px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:0 20px 50px #00000040}.modal.wide{width:min(860px,100%)}.modal header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.modal-x{background:none;border:0;font-size:22px;cursor:pointer;color:var(--txt-3);width:36px;height:36px;border-radius:8px}.modal-x:hover{background:var(--line-2)}.modal-body{padding:16px 18px;overflow-y:auto}.modal footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line)}.toasts{position:fixed;bottom:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:60}.toast{padding:10px 14px;border-radius:8px;background:#111827;color:#fff;box-shadow:var(--shadow);max-width:380px}.toast.error{background:var(--red)}.empty{text-align:center;padding:40px 16px;color:var(--txt-3)}.empty strong{display:block;color:var(--txt-2);margin-bottom:4px}.login{min-height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#0f172a,#134e4a);padding:16px}.login form{background:#fff;padding:32px;border-radius:14px;width:min(380px,100%);box-shadow:0 30px 60px #0000004d}.login h1{margin-bottom:4px}.login-brand{font-weight:800;letter-spacing:.02em;font-size:20px;color:var(--txt);margin-bottom:18px}.login-brand span{color:var(--brand)}.error-box{background:var(--red-soft);color:var(--red);padding:8px 12px;border-radius:8px;margin-bottom:12px;font-size:13px}.chat{display:grid;grid-template-columns:340px 1fr;height:100%;min-height:0}.chat.con-panel{grid-template-columns:340px 1fr 300px}.chat-list{border-right:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;min-height:0}.chat-list .busca{padding:12px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.trays{display:flex;gap:4px;flex-wrap:wrap}.tray{border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px 10px;font-size:12px;cursor:pointer;color:var(--txt-2)}.tray.on{background:var(--brand);color:#fff;border-color:var(--brand)}.tray b{font-weight:700;margin-left:2px}.conv-items{overflow-y:auto;flex:1}.conv-item{display:block;width:100%;text-align:left;border:0;background:none;padding:11px 14px;border-bottom:1px solid var(--line-2);cursor:pointer;font:inherit;color:inherit}.conv-item:hover{background:#fafbfc}.conv-item.on{background:var(--brand-soft)}.conv-item .l1{display:flex;gap:6px;align-items:center}.conv-item .l1 strong{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-item .l2{color:var(--txt-3);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.conv-item .l3{display:flex;gap:4px;margin-top:4px;flex-wrap:wrap}.unread{background:var(--brand);color:#fff;font-size:11px;font-weight:700;border-radius:10px;padding:0 6px}.chat-main{display:flex;flex-direction:column;min-height:0;min-width:0;background:#eef1f0}.chat-head{background:var(--panel);border-bottom:1px solid var(--line);padding:10px 16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.chat-head .who{flex:1;min-width:180px}.chat-head .who strong{display:block}.window{font-size:12px;padding:4px 16px;background:var(--blue-soft);color:var(--blue)}.window.cerrada{background:var(--amber-soft);color:var(--amber)}.msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:6px}.msg{max-width:min(560px,78%);padding:8px 11px;border-radius:10px;background:var(--bubble-in);box-shadow:0 1px 1px #0000000f;white-space:pre-wrap;word-wrap:break-word}.msg.out{align-self:flex-end;background:var(--bubble-out)}.msg.note{align-self:center;background:var(--note);border:1px dashed #e0c25c;max-width:80%}.msg.system{align-self:center;background:transparent;box-shadow:none;color:var(--txt-3);font-size:12px;padding:2px}.msg .meta{font-size:11px;color:var(--txt-3);margin-top:3px;display:flex;gap:6px;justify-content:flex-end}.msg .meta .fail{color:var(--red)}.msg .tpl{font-size:11px;font-weight:700;color:var(--brand);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:2px}.msg img{max-width:260px;border-radius:6px;display:block}.msg .opts{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.msg .opts span{border:1px solid var(--line);border-radius:6px;padding:2px 8px;font-size:12px;background:#fff}.composer{background:var(--panel);border-top:1px solid var(--line);padding:10px 12px}.composer.nota{background:var(--note)}.composer textarea{min-height:44px;max-height:160px;border-radius:10px}.composer .acciones{display:flex;gap:6px;margin-top:8px;align-items:center;flex-wrap:wrap}.composer .bloqueo{color:var(--txt-3);text-align:center;padding:10px}.quick-list{border:1px solid var(--line);border-radius:8px;max-height:200px;overflow-y:auto;margin-bottom:8px;background:#fff}.quick-list button{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 10px;cursor:pointer;font:inherit;border-bottom:1px solid var(--line-2)}.quick-list button:hover,.quick-list button.on{background:var(--brand-soft)}.panel{background:var(--panel);border-left:1px solid var(--line);overflow-y:auto;padding:16px}.panel dl{margin:0 0 12px;display:grid;grid-template-columns:90px 1fr;gap:6px;font-size:13px}.panel dt{color:var(--txt-3)}.panel dd{margin:0;word-break:break-word}@media(max-width:1100px){.chat.con-panel{grid-template-columns:300px 1fr}.chat.con-panel .panel{display:none}}@media(max-width:760px){.chat,.chat.con-panel{grid-template-columns:1fr}.chat.abierta .chat-list{display:none}.chat:not(.abierta) .chat-main{display:none}}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.kpi .v{font-size:26px;font-weight:700;letter-spacing:-.02em}.kpi .t{font-size:12px;color:var(--txt-3)}.bars{display:flex;align-items:flex-end;gap:3px;height:160px;padding-top:8px}.bars .b{flex:1;display:flex;flex-direction:column-reverse;min-width:4px}.bars .b span{display:block}.heat{display:grid;grid-template-columns:34px repeat(24,1fr);gap:2px;font-size:10px;color:var(--txt-3)}.heat div{height:18px;border-radius:3px}.heat .lbl{background:none;display:flex;align-items:center;height:18px}.meter{height:8px;background:var(--line-2);border-radius:4px;overflow:hidden;display:flex}.meter span{display:block;height:100%}a.btn,a.tray{text-decoration:none}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}@media(max-width:1000px){.editor-grid{grid-template-columns:minmax(0,1fr)}}.nodo{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px;background:#fff}.nodo.inicio{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.nodo-head{display:flex;gap:8px;align-items:center;margin-bottom:8px}.nodo-head .mono{background:var(--line-2);padding:2px 6px;border-radius:4px}.flecha{color:var(--txt-3);font-size:12px}.stepper{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.stepper span{padding:4px 12px;border-radius:999px;background:var(--line-2);font-size:12px;color:var(--txt-3)}.stepper span.on{background:var(--brand);color:#fff}.phone{width:360px;max-width:100%;height:620px;border-radius:28px;border:10px solid #111827;background:#efeae2;display:flex;flex-direction:column;overflow:hidden}.phone .top{background:#075e54;color:#fff;padding:12px 14px}.phone .msgs{padding:10px}.phone .send{display:flex;gap:6px;padding:8px;background:#f0f0f0}.phone .send input{border-radius:20px}.preview-tpl{background:#efeae2;padding:14px;border-radius:10px}.preview-tpl .msg{max-width:100%}.chat-main.chat-vacio{justify-content:center;align-items:center}.msg .meta .incierto{color:var(--amber);font-weight:700}.aviso-incierto{margin-top:6px;padding:6px 8px;border-radius:6px;background:var(--amber-soft);color:var(--amber);font-size:12px;white-space:normal}.banda-entorno{background:#fde68a;color:#713f12;padding:6px 16px;font-size:13px;font-weight:600;text-align:center}.login .banda-entorno{position:fixed;top:0;left:0;right:0}.main{display:flex;flex-direction:column}.main>.chat{flex:1;height:auto;min-height:0}.main>.page{width:100%}
