/* Última actualización: 03/11/2026 16:56 (hora local) */
/* ===== ASISTENTE ITSTK (agente guiado) ===== */
.ag-launch[hidden],.ag-bub[hidden],.ag-panel[hidden],.ag-scrim[hidden],.ag-foot[hidden],.ag-cal[hidden],.ag-cal-load[hidden]{display:none!important}
.ag svg{display:block}
.ag-ib svg,.ag-bub-x svg,.ag-send svg,.ag-go svg,.ag-link svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ag-link.wa svg{fill:currentColor;stroke:none}

/* botón flotante */
.ag-launch{position:fixed;right:18px;bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:45;width:56px;height:56px;border:0;border-radius:50%;padding:0;background:var(--azul);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 26px rgba(11,62,120,.35);transition:transform .2s,background .2s,box-shadow .2s}
.ag-launch:hover{transform:translateY(-3px);background:var(--rojo);box-shadow:0 12px 28px rgba(227,6,19,.35)}
.ag-launch:active{transform:scale(.95)}
.ag-launch svg{width:36px;height:36px}
.ag-launch::before{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--cel);opacity:0;pointer-events:none;animation:agRing 2.4s ease-out 2s 3}
@keyframes agRing{0%{opacity:.9;transform:scale(.85)}100%{opacity:0;transform:scale(1.25)}}
:root[data-theme="dark"] .ag-launch{box-shadow:0 0 0 2px var(--line2),0 12px 28px rgba(0,0,0,.5)}
.ag-eye{transform-box:fill-box;transform-origin:center;animation:agBlink 5s infinite}
@keyframes agBlink{0%,93%,100%{transform:none}96%{transform:scaleY(.15)}}

/* globo de invitación */
.ag-bub{position:fixed;right:84px;bottom:calc(82px + env(safe-area-inset-bottom,0px));z-index:45;display:flex;align-items:center;gap:2px;max-width:min(260px,calc(100vw - 112px));padding:4px 4px 4px 14px;background:var(--surface);border:1px solid var(--line2);border-radius:14px 14px 4px 14px;box-shadow:0 14px 34px rgba(11,62,120,.2);animation:agIn .4s cubic-bezier(.2,.8,.2,1)}
.ag-bub-txt{flex:1;min-width:0;background:none;border:0;padding:8px 0;text-align:left;cursor:pointer;color:var(--title);font:700 .88rem/1.35 Montserrat,"Arial Nova",Arial,sans-serif}
.ag-bub-x{flex:none;width:34px;height:34px;border:0;border-radius:50%;background:none;color:var(--gris);cursor:pointer;display:grid;place-items:center;padding:0}
.ag-bub-x:hover{background:var(--f1);color:var(--title)}
.ag-bub-x svg{width:16px;height:16px}
@keyframes agIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* panel */
.ag-scrim{position:fixed;inset:0;z-index:79;background:rgba(5,16,30,.5);display:none}
.ag-panel{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:80;width:380px;max-width:calc(100vw - 36px);height:min(640px,calc(100vh - 100px));height:min(640px,calc(100dvh - 100px));display:flex;flex-direction:column;background:var(--surface);color:var(--txt);border-radius:14px;overflow:hidden;box-shadow:0 24px 60px rgba(11,62,120,.28),0 0 0 1px var(--line2);transform-origin:bottom right;animation:agOpen .28s cubic-bezier(.2,.8,.2,1);font:15px/1.5 "Arial Nova",Arial,sans-serif}
.ag-panel:focus{outline:none}
:root[data-theme="dark"] .ag-panel{box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 0 1px var(--line2)}
@keyframes agOpen{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
.ag-hd{flex:none;position:relative;display:flex;align-items:center;gap:12px;padding:14px 8px 15px 16px;background:var(--azul);color:#fff}
.ag-hd::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--cel),var(--rojo))}
.ag-av{flex:none;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;color:#fff}
.ag-av svg{width:30px;height:30px}
.ag-hd-t{flex:1;min-width:0}
.ag-ttl{margin:0;font:800 1rem/1.2 Montserrat,"Arial Nova",Arial,sans-serif;color:#fff}
.ag-sub{margin:3px 0 0;font-size:.8rem;line-height:1.3;color:#DCEAF7}
.ag-ib{flex:none;width:40px;height:40px;border:0;border-radius:8px;background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;padding:0;transition:background .2s}
.ag-ib:hover{background:rgba(255,255,255,.14)}
.ag-ib svg{width:20px;height:20px}

/* conversación */
.ag-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 14px 12px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;scrollbar-width:thin}
.ag-msg{max-width:86%;padding:10px 14px;border-radius:14px;font-size:.94rem;line-height:1.5;overflow-wrap:anywhere;animation:agIn .3s}
.ag-bot{align-self:flex-start;background:var(--f2);color:var(--txt);border-bottom-left-radius:4px}
.ag-user{align-self:flex-end;background:var(--azul);color:#fff;border-bottom-right-radius:4px}
:root[data-theme="dark"] .ag-bot{box-shadow:inset 0 0 0 1px var(--line2)}
:root[data-theme="dark"] .ag-user{box-shadow:inset 0 0 0 1px rgba(0,159,227,.45)}
.ag-typing{display:inline-flex;align-items:center;gap:5px;padding:15px 16px}
.ag-typing i{width:7px;height:7px;border-radius:50%;background:var(--cel);opacity:.4;animation:agDot 1.1s infinite}
.ag-typing i:nth-child(2){animation-delay:.15s}.ag-typing i:nth-child(3){animation-delay:.3s}
@keyframes agDot{0%,60%,100%{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-4px)}}
.ag-chips{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start;max-width:100%;animation:agIn .3s}
.ag-chip{min-height:40px;padding:8px 15px;border-radius:999px;border:2px solid var(--cel);background:transparent;color:var(--title);font:600 .86rem/1.2 Montserrat,"Arial Nova",Arial,sans-serif;text-align:left;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.ag-chip:hover{background:var(--cel);color:#fff;transform:translateY(-1px)}
.ag-chip.ghost{border-color:var(--line2);color:var(--gris)}
.ag-chip.ghost:hover{background:var(--f1);color:var(--title);border-color:var(--cel)}

/* resumen */
.ag-card{align-self:stretch;background:var(--f1);border-radius:14px;padding:16px;border-top:4px solid var(--cel);animation:agIn .3s}
:root[data-theme="dark"] .ag-card{box-shadow:inset 0 0 0 1px var(--line2)}
.ag-card dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;font-size:.88rem}
.ag-card dt{color:var(--gris);font-weight:700}
.ag-card dd{margin:0;color:var(--txt);overflow-wrap:anywhere}
.ag-rec{margin-top:14px;padding-top:12px;border-top:1px solid var(--line2)}
.ag-rec small{display:block;font:700 .7rem Montserrat,"Arial Nova",Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
.ag-rec b{display:block;margin:3px 0 4px;font:800 1rem/1.3 Montserrat,"Arial Nova",Arial,sans-serif;color:var(--title)}
.ag-rec p{margin:0;font-size:.86rem;color:var(--gris)}
.ag-rec p.ag-pri{margin-top:8px;color:var(--title);font-weight:700}
.ag-acts{display:flex;flex-wrap:wrap;gap:8px;align-self:stretch;animation:agIn .3s}
.ag-acts .btn.ag-go{flex:1 1 100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 18px;font-size:.95rem}
.ag-go svg{width:20px;height:20px}
.ag-link{flex:1 1 100%;display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 16px;border-radius:8px;font:700 .9rem Montserrat,"Arial Nova",Arial,sans-serif;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;overflow-wrap:anywhere;text-align:center}
.ag-link svg{flex:none;width:20px;height:20px}
.ag-link.wa{background:#25D366;color:#fff}
.ag-link.wa:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(37,211,102,.35)}
.ag-link.mail{border:2px solid var(--cel);color:var(--title);background:transparent}
.ag-link.mail:hover{background:var(--f2)}

/* entrada de texto */
.ag-foot{flex:none;padding:8px 12px 12px;border-top:1px solid var(--line2);background:var(--surface)}
.ag-hint{margin:0 2px 6px;font-size:.8rem;line-height:1.35;color:var(--rojo)}
.ag-hint:empty{display:none}
.ag-hint.soft{color:var(--title)}
:root[data-theme="dark"] .ag-hint{color:#FF7A82}
:root[data-theme="dark"] .ag-hint.soft{color:var(--title)}
form.ag-row{display:flex;gap:8px;padding:0;margin:0;background:none;border-radius:0;box-shadow:none}
.ag-row input{flex:1;min-width:0;width:auto;padding:11px 14px;font-size:16px;border:2px solid var(--field);border-radius:8px;background:var(--bg);color:var(--txt)}
.ag-row input.bad{border-color:var(--rojo)}
.ag-send{flex:none;width:48px;height:48px;border:0;border-radius:8px;background:var(--rojo);color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .2s,box-shadow .2s}
.ag-send:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(227,6,19,.3)}
.ag-send svg{width:22px;height:22px}
.ag-note{margin:7px 2px 0;font-size:.74rem;line-height:1.35;color:var(--gris)}

/* calendario (Calendly) */
.ag-cal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:rgba(5,16,30,.6);animation:agIn .25s}
.ag-cal-box{width:min(1000px,100%);height:min(760px,100%);display:flex;flex-direction:column;background:var(--surface);border-radius:14px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.ag-cal .ag-hd{padding:10px 8px 13px 18px}
.ag-cal-body{position:relative;flex:1;min-height:0;background:#fff}
.ag-cal-load{position:absolute;inset:0;margin:0;display:grid;place-items:center;color:#6B7280;font:600 .95rem Montserrat,"Arial Nova",Arial,sans-serif}
.ag-cal-frame{position:absolute;inset:0;z-index:1;overflow:auto;-webkit-overflow-scrolling:touch}
.ag-cal-frame iframe{display:block;width:100%;height:100%;border:0}
.ag-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
html.ag-calopen body{overflow:hidden}

@media(max-width:520px){
 .ag-launch{width:52px;height:52px;bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .ag-launch svg{width:33px;height:33px}
 .ag-bub{right:80px}
 .ag-scrim:not([hidden]){display:block}
 .ag-panel{left:0;right:0;bottom:0;width:100%;max-width:none;height:88vh;height:88dvh;border-radius:14px 14px 0 0;padding-bottom:env(safe-area-inset-bottom,0px);transform-origin:bottom center;animation-name:agSheet}
 html.ag-open body{overflow:hidden}
 .ag-msg{max-width:90%}
 .ag-log{padding:16px 12px 10px}
 .ag-cal{padding:0}
 .ag-cal-box{width:100%;height:100%;border-radius:0}
}
@keyframes agSheet{from{transform:translateY(100%)}to{transform:none}}
@media(max-width:360px){.ag-chip{padding:8px 12px;font-size:.82rem}.ag-hd{gap:10px;padding-left:12px}.ag-av{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.ag-launch::before,.ag-eye,.ag-typing i{animation:none!important}.ag-log{scroll-behavior:auto}}
