/* Alfred Agent — tema terminal (estilo Matrix). Colores sobreescribibles desde Ajustes. */
.alf,.alf *{box-sizing:border-box}
.alf{
  --alf-bg:#050806;--alf-sf:#0A120C;--alf-sf2:#07100A;--alf-line:#12301C;--alf-bd:#1C4A2B;
  --alf-ac:#00FF66;--alf-acd:#00CC52;--alf-acl:#66FFA3;--alf-ink:#D6FFE4;--alf-mut:#6FA985;
  --alf-al:#FF4D4D;--alf-wa:#25D366;--alf-r:14px;
  --alf-mono:ui-monospace,"SFMono-Regular","JetBrains Mono","Cascadia Mono",Menlo,Consolas,"Liberation Mono",monospace;
  font-family:var(--alf-mono);font-size:14px;line-height:1.55;color:var(--alf-ink);
  -webkit-text-size-adjust:100%;
}
.alf button{text-shadow:none;box-shadow:none;margin:0;white-space:normal;width:auto;min-width:0;font-family:var(--alf-mono);letter-spacing:0;text-transform:none}
.alf-sr{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* ---------- Lanzador ---------- */
.alf .alf-launch{position:fixed;right:20px;bottom:20px;z-index:99998;display:flex;align-items:center;gap:10px;height:56px;padding:0 18px 0 8px;
  border:1px solid var(--alf-ac);border-radius:var(--alf-r);background:var(--alf-bg);color:var(--alf-ac);cursor:pointer;
  box-shadow:0 0 0 1px rgba(0,255,102,.08),0 10px 30px rgba(0,0,0,.6),0 0 24px rgba(0,255,102,.18);
  transition:transform .18s ease,box-shadow .18s ease;animation:alf-in .5s ease-out .6s both}
.alf .alf-launch:hover,.alf .alf-launch:focus{background:var(--alf-bg);color:var(--alf-ac);transform:translateY(-2px);box-shadow:0 0 0 1px rgba(0,255,102,.2),0 12px 34px rgba(0,0,0,.65),0 0 34px rgba(0,255,102,.32)}
.alf-launch__ico{width:40px;height:40px;border-radius:10px;background:var(--alf-ac);color:var(--alf-bg);display:grid;place-items:center;flex:none}
.alf-launch__ico svg{width:26px;height:26px;transform-origin:50% 85%}
.alf-launch__txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;text-align:left}
.alf-launch__txt b{font-weight:700;font-size:14px;letter-spacing:.5px}
.alf-launch__txt b::after{content:"_";animation:alf-blink 1s steps(1) infinite;margin-left:1px}
.alf-launch__txt small{font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--alf-mut)}
.alf-dot{position:absolute;top:-5px;right:-5px;width:12px;height:12px;border-radius:50%;background:var(--alf-ac);box-shadow:0 0 10px var(--alf-ac)}
.alf-dot[hidden]{display:none}
.alf-ring .alf-launch__ico svg{animation:alf-ring 1.2s ease-in-out 2}
.alf .alf-launch[aria-expanded="true"]{padding:0 8px}
.alf .alf-launch[aria-expanded="true"] .alf-launch__txt{display:none}
@media (max-width:600px){.alf .alf-launch{height:54px;padding:0 7px}.alf .alf-launch .alf-launch__txt{display:none}}

/* ---------- Saludo que asoma ---------- */
.alf-teaser{position:fixed;right:20px;z-index:99998;width:300px;max-width:calc(100vw - 40px);display:flex;align-items:flex-start;background:rgba(5,8,6,.94);
  border:1px solid var(--alf-bd);border-radius:var(--alf-r);box-shadow:0 12px 30px rgba(0,0,0,.6),0 0 22px rgba(0,255,102,.12);animation:alf-in .35s ease-out both;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.alf-teaser[hidden]{display:none}
.alf .alf-teaser__go{order:1;flex:1;min-width:0;background:transparent;border:0;color:var(--alf-ink);text-align:left;padding:12px 4px 12px 14px;font:13px/1.5 var(--alf-mono);cursor:pointer}
.alf .alf-teaser__go:hover,.alf .alf-teaser__go:focus{background:transparent;color:var(--alf-ink)}
.alf-teaser__go b{color:var(--alf-ac);font-weight:700}
.alf .alf-teaser__x{order:2;background:transparent;border:0;color:var(--alf-mut);font-size:20px;line-height:1;padding:8px 10px;cursor:pointer}
.alf .alf-teaser__x:hover,.alf .alf-teaser__x:focus{background:transparent;color:var(--alf-ac)}

/* ---------- Panel ---------- */
.alf-panel{position:fixed;right:20px;bottom:90px;z-index:100000;width:400px;max-width:calc(100vw - 32px);height:min(640px,calc(100vh - 120px));
  display:flex;flex-direction:column;background:var(--alf-bg);border:1px solid var(--alf-bd);border-radius:var(--alf-r);overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.75),0 0 0 1px rgba(0,255,102,.06),0 0 40px rgba(0,255,102,.12);animation:alf-up .22s ease-out both}
.alf-panel[hidden]{display:none}
.alf-panel::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:repeating-linear-gradient(to bottom,rgba(0,255,102,.035) 0,rgba(0,255,102,.035) 1px,transparent 1px,transparent 3px)}

/* Móvil: hoja flotante que cabe siempre entre las barras del navegador; el JS la sube encima del teclado */
@media (max-width:600px){
  .alf-panel{left:8px;right:8px;width:auto;max-width:none;top:auto;bottom:calc(8px + env(safe-area-inset-bottom,0px));height:72vh;height:min(76svh,620px)}
}

.alf-head{position:relative;display:flex;align-items:center;gap:12px;padding:14px 14px 12px;border-bottom:1px solid var(--alf-bd);background:var(--alf-sf2);overflow:hidden;flex:none}
.alf-rain{position:absolute;inset:0;width:100%;height:100%;opacity:.22;pointer-events:none}
.alf-av{position:relative;width:40px;height:40px;border-radius:10px;background:var(--alf-ac);color:var(--alf-bg);display:grid;place-items:center;flex:none;box-shadow:0 0 16px rgba(0,255,102,.35)}
.alf-av svg{width:26px;height:26px}
.alf-who{position:relative;flex:1;min-width:0;display:flex;flex-direction:column}
.alf-who b{font-weight:700;font-size:15px;letter-spacing:.5px;color:var(--alf-ac);text-transform:uppercase}
.alf-who span{font-size:10.5px;color:var(--alf-mut);text-transform:uppercase;letter-spacing:1.5px;margin-top:2px;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alf-who span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--alf-ac);box-shadow:0 0 8px var(--alf-ac);animation:alf-pulse 2s ease-in-out infinite;flex:none}
.alf .alf-x{position:relative;background:transparent;border:1px solid transparent;color:var(--alf-mut);font-size:22px;line-height:1;width:36px;height:36px;cursor:pointer;border-radius:10px;flex:none}
.alf .alf-x:hover,.alf .alf-x:focus{background:transparent;color:var(--alf-ac);border-color:var(--alf-bd)}

.alf-note{flex:none;font-size:10.5px;line-height:1.45;color:var(--alf-mut);padding:6px 14px;border-bottom:1px solid var(--alf-line);background:var(--alf-sf2);cursor:pointer;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.alf-note.is-open{-webkit-line-clamp:unset;display:block}
.alf-note::before{content:"ⓘ ";color:var(--alf-ac)}

/* ---------- Conversación ---------- */
.alf-msgs{flex:1;min-height:0;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--alf-bd) transparent}
.alf-m{max-width:92%;font-size:13.5px;white-space:pre-line;word-wrap:break-word;position:relative}
.alf-m--bot{align-self:flex-start;padding:2px 0 2px 12px;border-left:2px solid var(--alf-ac);color:var(--alf-ink)}
.alf-m--bot::before{content:attr(data-who);display:block;font-size:10px;letter-spacing:1.5px;color:var(--alf-ac);text-transform:uppercase;margin-bottom:3px;opacity:.85}
.alf-m--user{align-self:flex-end;background:rgba(0,255,102,.08);border:1px solid var(--alf-bd);color:var(--alf-acl);padding:8px 12px;border-radius:12px 12px 4px 12px}
.alf-m--user::before{content:"> ";color:var(--alf-ac)}
.alf-cur{display:inline-block;width:.6em;height:1.05em;background:var(--alf-ac);vertical-align:text-bottom;margin-left:2px;animation:alf-blink .8s steps(1) infinite}
.alf-typing{align-self:flex-start;padding-left:12px;border-left:2px solid var(--alf-ac);color:var(--alf-mut);font-size:12px;letter-spacing:1px}
.alf-typing::after{content:"";display:inline-block;width:.6em;height:1em;background:var(--alf-ac);vertical-align:text-bottom;margin-left:6px;animation:alf-blink .6s steps(1) infinite}

/* Opciones: van en el flujo, justo debajo del último mensaje */
.alf-chips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 4px}
.alf-chips:empty{display:none}
.alf .alf-chip{background:transparent;border:1px solid var(--alf-bd);color:var(--alf-ink);border-radius:10px;padding:9px 12px;font:600 12.5px/1.25 var(--alf-mono);cursor:pointer;text-align:left;text-decoration:none;display:inline-block;transition:border-color .15s,color .15s,background-color .15s}
.alf .alf-chip:hover,.alf .alf-chip:focus{background:rgba(0,255,102,.06);border-color:var(--alf-ac);color:var(--alf-ac)}
.alf .alf-chip--main{background:var(--alf-ac);border-color:var(--alf-ac);color:var(--alf-bg)}
.alf .alf-chip--main:hover,.alf .alf-chip--main:focus{background:var(--alf-acl);border-color:var(--alf-acl);color:var(--alf-bg)}
.alf .alf-chip--wa{border-color:rgba(37,211,102,.6);color:var(--alf-wa)}
.alf .alf-chip--wa:hover,.alf .alf-chip--wa:focus{color:var(--alf-bg);background:var(--alf-wa);border-color:var(--alf-wa)}

.alf-rate{align-self:flex-start;display:flex;align-items:center;gap:6px;font-size:11px;color:var(--alf-mut);margin:-4px 0 0 14px}
.alf .alf-rate button{background:transparent;border:1px solid var(--alf-line);color:var(--alf-mut);border-radius:8px;padding:2px 9px;font:600 11px/1.4 var(--alf-mono);cursor:pointer}
.alf .alf-rate button:hover,.alf .alf-rate button:focus{background:transparent;border-color:var(--alf-ac);color:var(--alf-ac)}

/* ---------- Entrada ---------- */
.alf-in{flex:none;position:relative;display:flex;align-items:center;gap:8px;padding:10px 10px 10px 12px;border-top:1px solid var(--alf-bd);background:var(--alf-sf2)}
.alf-in::before{content:">";color:var(--alf-ac);font-weight:700;font-size:16px}
.alf .alf-in input{flex:1;min-width:0;background:transparent;border:0;color:var(--alf-ink);caret-color:var(--alf-ac);padding:10px 4px;font:16px/1.3 var(--alf-mono);outline:0;box-shadow:none;border-radius:0}
.alf .alf-in input::placeholder{color:var(--alf-mut);opacity:.8}
.alf .alf-send{flex:none;width:42px;height:42px;display:grid;place-items:center;background:var(--alf-ac);color:var(--alf-bg);border:0;border-radius:10px;font:700 18px/1 var(--alf-mono);cursor:pointer;padding:0}
.alf .alf-send:hover,.alf .alf-send:focus{background:var(--alf-acl);color:var(--alf-bg)}

/* ---------- Formulario ---------- */
.alf-form{align-self:stretch;background:var(--alf-sf);border:1px solid var(--alf-bd);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}
.alf-form label{display:flex;flex-direction:column;gap:5px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--alf-mut)}
.alf .alf-form input[type=text],.alf .alf-form input[type=email],.alf .alf-form input[type=tel],.alf .alf-form textarea{background:var(--alf-bg);border:1px solid var(--alf-bd);color:var(--alf-ink);caret-color:var(--alf-ac);border-radius:8px;padding:10px;font:16px/1.4 var(--alf-mono);text-transform:none;letter-spacing:0;width:100%;box-shadow:none}
.alf .alf-form input:focus,.alf .alf-form textarea:focus{border-color:var(--alf-ac);outline:0;box-shadow:0 0 0 3px rgba(0,255,102,.12)}
.alf-form textarea{min-height:84px;resize:vertical;font-size:14px!important}
.alf-form .alf-ok{flex-direction:row;align-items:flex-start;gap:8px;text-transform:none;letter-spacing:0;font-weight:400;font-size:12.5px;color:var(--alf-ink)}
.alf-form .alf-ok input{margin-top:2px;accent-color:var(--alf-ac);flex:none;width:18px;height:18px}
.alf-legal{font-size:10.5px;line-height:1.5;color:var(--alf-mut);border-top:1px solid var(--alf-line);padding-top:8px;margin:0}
.alf-legal a,.alf-form a{color:var(--alf-ac)}
.alf-err{font-size:12.5px;color:var(--alf-al);border-left:2px solid var(--alf-al);padding-left:8px;margin:0}
.alf-err:empty{display:none}
.alf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.alf .alf-submit{background:var(--alf-ac);color:var(--alf-bg);border:0;border-radius:10px;padding:13px;font:700 13px/1 var(--alf-mono);letter-spacing:1px;text-transform:uppercase;cursor:pointer}
.alf .alf-submit:hover,.alf .alf-submit:focus{background:var(--alf-acl);color:var(--alf-bg)}
.alf .alf-submit:disabled{opacity:.6;cursor:default}
.alf-form [data-cancel]{align-self:center}

html.alf-lock,html.alf-lock body{overflow:hidden!important;overscroll-behavior:none}
.alf-launch:focus-visible,.alf button:focus-visible,.alf a:focus-visible,.alf input:focus-visible,.alf textarea:focus-visible{outline:2px solid var(--alf-ac);outline-offset:2px}

@keyframes alf-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes alf-up{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@keyframes alf-blink{50%{opacity:0}}
@keyframes alf-pulse{50%{opacity:.35}}
@keyframes alf-ring{0%,100%{transform:rotate(0)}15%{transform:rotate(-12deg)}30%{transform:rotate(10deg)}45%{transform:rotate(-6deg)}60%{transform:rotate(3deg)}}
@media (prefers-reduced-motion:reduce){.alf *,.alf .alf-launch,.alf-panel{animation:none!important;transition:none!important}}
