/* LINK-ORA — IA del portal (asistente flotante, afinidad, simulador de entrevista).
   Usa las variables de jp-core.css con respaldo (las paginas del constructor no las cargan). */
:root{--jpai-p:var(--jp-primary,#4338CA);--jpai-d:var(--jp-primary-d,#312E81);--jpai-l:var(--jp-primary-l,#EEF2FF);--jpai-m:var(--jp-primary-m,#C7D2FE);
  --jpai-c:var(--jp-cta,#F97316);--jpai-ink:var(--jp-ink,#0F172A);--jpai-t:var(--jp-text,#334155);--jpai-mu:var(--jp-muted,#64748B);--jpai-line:var(--jp-line,#E2E8F0);
  --jpai-ok:#16A34A;--jpai-okl:#DCFCE7;--jpai-bad:#DC2626;--jpai-badl:#FEE2E2;--jpai-warn:#B45309;--jpai-warnl:#FEF3C7}
.jpai-fab svg,.jpai-panel svg,.jpai-card svg,.jpai-page svg{width:1.1em;height:1.1em;flex:none;vertical-align:-.15em}

/* ---------- Boton flotante ---------- */
.jpai-fab{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:2147482990;display:inline-flex;align-items:center;gap:10px;
  min-height:56px;padding:0 22px 0 16px;border:0;border-radius:999px;cursor:pointer;color:#fff;font:700 16px/1.2 inherit;font-family:inherit;
  background:linear-gradient(135deg,var(--jpai-p),var(--jpai-d));box-shadow:0 10px 30px rgba(49,46,129,.35),0 2px 6px rgba(15,23,42,.18);transition:transform .15s,box-shadow .15s}
.jpai-fab:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(49,46,129,.42)}
.jpai-fab:focus-visible{outline:3px solid var(--jpai-c);outline-offset:3px}
.jpai-fab .jpai-fab-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.16)}
.jpai-fab .jpai-fab-ico svg{width:20px;height:20px}
.jpai-fab .jpai-fab-dot{position:absolute;top:8px;left:42px;width:10px;height:10px;border-radius:50%;background:var(--jpai-c);box-shadow:0 0 0 3px var(--jpai-d);animation:jpai-pulse 2.4s infinite}
.jpai-fab[aria-expanded="true"]{display:none}
@keyframes jpai-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
@media (max-width:560px){.jpai-fab{width:58px;height:58px;min-height:0;padding:0;justify-content:center}.jpai-fab .jpai-fab-ico{width:auto;height:auto;background:none}.jpai-fab .jpai-fab-ico svg{width:26px;height:26px}.jpai-fab .jpai-fab-long,.jpai-fab .jpai-fab-short{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.jpai-fab .jpai-fab-dot{top:9px;left:38px}}
@media (min-width:561px){.jpai-fab .jpai-fab-short{display:none}}
#jpai-fb-h:focus,.jpai-qtext:focus{outline:none}
@media (prefers-reduced-motion:reduce){.jpai-fab,.jpai-fab .jpai-fab-dot{animation:none;transition:none}}

/* ---------- Panel del asistente ---------- */
.jpai-panel{position:fixed;right:18px;bottom:18px;z-index:2147483000;width:410px;max-width:calc(100vw - 24px);height:min(660px,calc(100vh - 36px));display:flex;flex-direction:column;
  background:#fff;border-radius:20px;box-shadow:0 24px 60px rgba(15,23,42,.28),0 4px 12px rgba(15,23,42,.12);overflow:hidden;color:var(--jpai-t);font-size:15px;line-height:1.45;
  font-family:inherit;animation:jpai-in .18s ease-out}
.jpai-panel[hidden]{display:none}
@keyframes jpai-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.jpai-head{display:flex;align-items:center;gap:12px;padding:16px 16px 14px 18px;color:#fff;background:linear-gradient(135deg,var(--jpai-p),var(--jpai-d))}
.jpai-head .jpai-av{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.16)}
.jpai-head .jpai-av svg{width:22px;height:22px}
.jpai-head b{display:block;font-size:16px}.jpai-head small{display:block;font-size:12.5px;opacity:.85}
.jpai-head .jpai-hbtn{margin-left:auto;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}
.jpai-head .jpai-hbtn+.jpai-hbtn{margin-left:4px}
.jpai-head .jpai-hbtn:hover{background:rgba(255,255,255,.24)}
.jpai-head .jpai-hbtn:focus-visible{outline:2px solid #fff;outline-offset:1px}
.jpai-body{flex:1;overflow-y:auto;padding:16px 14px 8px;background:#F8FAFC;overscroll-behavior:contain}
.jpai-msg{display:flex;margin:0 0 12px}
.jpai-msg>div{max-width:88%;padding:10px 13px;border-radius:16px;white-space:pre-line;word-wrap:break-word}
.jpai-msg.is-bot>div{background:#fff;border:1px solid var(--jpai-line);border-top-left-radius:6px;color:var(--jpai-ink)}
.jpai-msg.is-me{justify-content:flex-end}
.jpai-msg.is-me>div{background:var(--jpai-p);color:#fff;border-top-right-radius:6px}
.jpai-msg.is-wide>div{max-width:100%;width:100%;white-space:normal}
.jpai-note{font-size:12.5px;color:var(--jpai-warn);background:var(--jpai-warnl);border-radius:10px;padding:7px 10px;margin:8px 0 0}
.jpai-flt{display:inline-flex;flex-wrap:wrap;gap:4px;margin:6px 0 0;font-size:12px;color:var(--jpai-d)}
.jpai-flt span{background:var(--jpai-l);border-radius:999px;padding:3px 9px;font-weight:600}
.jpai-jobs{display:grid;gap:8px;margin:10px 0 2px}
.jpai-job{display:block;padding:11px 12px;border:1px solid var(--jpai-line);border-radius:12px;background:#fff;text-decoration:none!important;color:var(--jpai-t)!important;transition:border-color .12s,box-shadow .12s}
.jpai-job:hover,.jpai-job:focus-visible{border-color:var(--jpai-p);box-shadow:0 4px 14px rgba(67,56,202,.12)}
.jpai-job b{display:block;color:var(--jpai-ink);font-size:15px;line-height:1.3}
.jpai-job .jpai-co{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--jpai-mu);margin:2px 0 6px}
.jpai-job .jpai-co svg{color:var(--jpai-ok)}
.jpai-job .jpai-meta{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:12.5px;color:var(--jpai-mu)}
.jpai-job .jpai-sal{color:#166534;font-weight:700}
.jpai-job .jpai-m{margin-left:auto;font-weight:800;color:var(--jpai-d);background:var(--jpai-l);border-radius:999px;padding:1px 8px}
.jpai-all{display:inline-flex;align-items:center;gap:6px;margin:10px 0 0;font-weight:700;color:var(--jpai-p)!important;text-decoration:none!important}
.jpai-links{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.jpai-links a{font-size:13px;font-weight:700;color:var(--jpai-p)!important;background:var(--jpai-l);border-radius:999px;padding:5px 11px;text-decoration:none!important}
.jpai-foot{border-top:1px solid var(--jpai-line);padding:10px 12px 12px;background:#fff}
.jpai-chips{display:flex;gap:6px;overflow-x:auto;padding:0 0 8px;scrollbar-width:none}
.jpai-chips::-webkit-scrollbar{display:none}
.jpai-chips button{flex:none;border:1px solid var(--jpai-m);background:#fff;color:var(--jpai-d);border-radius:999px;padding:6px 12px;font:600 13px/1.2 inherit;font-family:inherit;cursor:pointer;min-height:32px}
.jpai-chips button:hover{background:var(--jpai-l);border-color:var(--jpai-p)}
.jpai-form{display:flex;gap:8px;align-items:flex-end}
.jpai-form textarea{flex:1;resize:none;min-height:46px;max-height:120px;padding:12px 14px;border:1.5px solid var(--jpai-line);border-radius:14px;font:15px/1.35 inherit;font-family:inherit;color:var(--jpai-ink);background:#fff}
.jpai-form textarea:focus{outline:none;border-color:var(--jpai-p);box-shadow:0 0 0 3px rgba(67,56,202,.15)}
.jpai-form button{display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:14px;background:var(--jpai-c);color:#fff;cursor:pointer;flex:none}
.jpai-form button:disabled{opacity:.5;cursor:default}
.jpai-form button:focus-visible{outline:3px solid var(--jpai-d);outline-offset:2px}
.jpai-small{font-size:11.5px;color:var(--jpai-mu);margin:7px 2px 0;display:flex;gap:5px;align-items:center}
.jpai-dots{display:inline-flex;gap:4px;vertical-align:middle}
.jpai-dots i{width:7px;height:7px;border-radius:50%;background:var(--jpai-p);opacity:.35;animation:jpai-dot 1s infinite}
.jpai-dots i:nth-child(2){animation-delay:.15s}.jpai-dots i:nth-child(3){animation-delay:.3s}
@keyframes jpai-dot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
@media (max-width:560px){.jpai-panel{right:0;bottom:0;width:100vw;max-width:100vw;height:100%;height:100dvh;border-radius:0}.jpai-msg>div{max-width:92%}}

/* ---------- Insignia y tarjeta de afinidad ---------- */
.jp-badge.jp-badge-match{background:var(--jpai-l);color:var(--jpai-d)}
.jp-badge.jpai-badge-hi{background:var(--jpai-okl);color:#166534}
.jp-badge.jpai-badge-lo{background:#F1F5F9;color:#475569}
.jpai-card{margin-top:16px}
.jpai-eyebrow{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--jpai-p)}
.jpai-match-top{display:flex;align-items:center;gap:14px;margin:0 0 6px}
.jpai-match-top .jp-h3{margin:0}
.jpai-ring{--p:0;--c:var(--jpai-p);position:relative;flex:none;display:grid;place-items:center;align-content:center;width:92px;height:92px;border-radius:50%;
  background:conic-gradient(var(--c) calc(var(--p)*1%),#E8EAF6 0)}
.jpai-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}
.jpai-ring b,.jpai-ring span{position:relative}
.jpai-ring b{font-size:26px;font-weight:800;color:var(--jpai-ink);line-height:1}
.jpai-ring b small{font-size:14px;font-weight:700}
.jpai-ring span{font-size:11px;color:var(--jpai-mu);font-weight:600}
.jpai-ring-hi{--c:var(--jpai-ok)}.jpai-ring-mid{--c:var(--jpai-p)}.jpai-ring-lo{--c:#F59E0B}
.jpai-sub{font-size:13px;font-weight:800;color:var(--jpai-ink);margin:14px 0 6px;text-transform:uppercase;letter-spacing:.04em}
.jpai-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.jpai-list li{display:flex;gap:8px;align-items:flex-start;font-size:14.5px;line-height:1.4}
.jpai-list li svg{margin-top:2px}
.jpai-list-ok li svg,.jpai-list-step li svg{color:var(--jpai-ok)}
.jpai-list-gap li svg{color:var(--jpai-warn)}
.jpai-explain{margin:14px 0 12px;padding:12px 14px;border-radius:12px;background:var(--jpai-l);color:var(--jpai-d);font-size:14.5px}
.jpai-explain p{margin:0}.jpai-explain p+p{margin-top:6px}
.jpai-tip{color:var(--jpai-t)}
.jpai-fair{display:flex;gap:6px;align-items:flex-start;margin:12px 0 0;font-size:12.5px;color:var(--jpai-mu)}
.jpai-actions{display:grid;gap:8px;margin-top:12px}
.jpai-card .jp-btn{margin-top:10px}

/* ---------- Simulador de entrevista ---------- */
.jpai-hero{background:radial-gradient(1200px 400px at 85% -10%,rgba(249,115,22,.18),transparent 60%),linear-gradient(135deg,var(--jpai-d),var(--jpai-p));color:#fff;padding:44px 0 48px}
.jpai-hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.jpai-hero .jp-h1{color:#fff}.jpai-hero .jp-lead{color:rgba(255,255,255,.88)}
.jpai-hero .jp-eyebrow{background:rgba(255,255,255,.14);color:#fff}
.jpai-hero-points{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-weight:600}
.jpai-hero-points li{display:flex;gap:6px;align-items:center}
.jpai-hero-points svg{color:#FDBA74}
.jpai-mock{background:#fff;color:var(--jpai-t);border-radius:18px;padding:18px;box-shadow:0 24px 50px rgba(15,23,42,.3);transform:rotate(1deg)}
.jpai-mock-q p{font-size:17px;font-weight:700;color:var(--jpai-ink);margin:8px 0 10px}
.jpai-mock-a{background:#F8FAFC;border-radius:12px;padding:10px 12px;font-size:14px;margin-bottom:12px}
.jpai-mock-a p{margin:0}
.jpai-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--jpai-d);background:var(--jpai-l);border-radius:999px;padding:4px 10px}
.jpai-pill{display:inline-block;flex:none;font-size:12.5px;font-weight:800;border-radius:999px;padding:3px 10px;background:#F1F5F9;color:#475569}
.jpai-tone-hi{background:var(--jpai-okl);color:#166534}.jpai-tone-mid{background:var(--jpai-l);color:var(--jpai-d)}.jpai-tone-lo{background:var(--jpai-warnl);color:#92400E}
.jpai-start{margin-top:-28px;position:relative;z-index:1}
.jpai-start .jp-h2{margin-top:0}
.jpai-start-form{display:grid;gap:14px}
.jpai-jobpick{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.jpai-jobpick legend{font-weight:700;color:var(--jpai-ink);margin-bottom:8px}
.jpai-jobopt{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1.5px solid var(--jpai-line);border-radius:12px;cursor:pointer;background:#fff}
.jpai-jobopt:has(input:checked){border-color:var(--jpai-p);background:var(--jpai-l)}
.jpai-jobopt input{margin-top:4px;accent-color:var(--jpai-p)}
.jpai-jobopt b{display:block;color:var(--jpai-ink);line-height:1.3}.jpai-jobopt small{display:block;color:var(--jpai-mu);font-size:13px}
.jpai-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.jpai-mode{border:0;padding:0;margin:0}.jpai-mode legend{font-weight:600;font-size:14px;margin-bottom:6px;color:var(--jpai-ink)}
.jpai-actions-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.jpai-actions-row form{margin:0}
.jpai-steps{list-style:none;padding:0;margin:0}
.jpai-steps li{display:flex;flex-direction:column;gap:6px}
.jpai-steps li svg{width:28px;height:28px;color:var(--jpai-p)}
.jpai-steps b{color:var(--jpai-ink);font-size:17px}
.jpai-steps span{color:var(--jpai-mu)}
.jpai-hist-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.jpai-hist-list li{display:flex;align-items:center;gap:12px;padding:14px 16px}
.jpai-hist-list a{flex:1;text-decoration:none!important}
.jpai-hist-list b{display:block;color:var(--jpai-ink)}.jpai-hist-list small{color:var(--jpai-mu)}
.jpai-iv{padding-top:8px}
.jpai-iv-head{display:grid;grid-template-columns:1fr minmax(220px,340px);gap:6px 24px;align-items:end;margin-bottom:18px}
.jpai-iv-head .jp-h2{margin:4px 0 0}.jpai-iv-head .jp-muted{margin:0}
.jpai-progress{height:10px;border-radius:999px;background:#E8EAF6;overflow:hidden;align-self:center}
.jpai-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--jpai-p),var(--jpai-c));border-radius:999px;transition:width .4s}
.jpai-progress-label{grid-column:2;margin:0;font-size:13px;font-weight:700;color:var(--jpai-mu);text-align:right}
.jpai-iv-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}
.jpai-question{border-left:5px solid var(--jpai-p)}
.jpai-qtext{font-size:clamp(20px,2.3vw,26px);line-height:1.3;font-weight:800;color:var(--jpai-ink);margin:12px 0 8px;outline:none}
.jpai-question .jpai-tip{display:flex;gap:6px;align-items:flex-start;margin:0;color:var(--jpai-mu);font-size:14.5px}
.jpai-question .jpai-tip svg{color:var(--jpai-c)}
.jpai-answer-form{margin-top:14px}
.jpai-answer-form textarea{min-height:170px}
.jpai-answer-bar{display:flex;align-items:center;gap:10px;margin-top:8px}
.jpai-answer-bar .jp-btn-primary{margin-left:auto}
.jpai-count{font-size:13px;color:var(--jpai-mu)}
[data-jpai-dictate].is-on{background:var(--jpai-badl);border-color:#FCA5A5;color:var(--jpai-bad)!important}
.jpai-live-fb:empty{display:none}
.jpai-live-fb{margin-top:14px}
.jpai-fb{background:#fff;border:1px solid var(--jpai-line);border-radius:14px;padding:14px 16px}
.jpai-live-fb .jpai-fb{border-color:var(--jpai-m);box-shadow:0 6px 20px rgba(67,56,202,.1);animation:jpai-in .2s ease-out}
.jpai-fb h4{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--jpai-ink);margin:12px 0 6px}
.jpai-fb-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.jpai-fb-score{display:inline-flex;align-items:baseline;gap:2px;padding:6px 12px;border-radius:12px;font-size:14px;font-weight:700}
.jpai-fb-score b{font-size:24px;font-weight:800}
.jpai-star{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.jpai-star li{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:4px 10px 4px 4px;border-radius:999px}
.jpai-star li b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:13px;color:#fff}
.jpai-star li.is-ok{background:var(--jpai-okl);color:#166534}.jpai-star li.is-ok b{background:var(--jpai-ok)}
.jpai-star li.is-miss{background:#F1F5F9;color:#64748B}.jpai-star li.is-miss b{background:#CBD5E1}
.jpai-better{margin-top:10px}
.jpai-better summary{cursor:pointer;font-weight:700;color:var(--jpai-p)}
.jpai-better p{margin:8px 0 0;padding:10px 12px;background:#F8FAFC;border-radius:10px;font-size:14.5px}
.jpai-next-bar{display:flex;justify-content:flex-end;margin-top:12px}
.jpai-finish{margin-top:16px}
.jpai-iv-side{position:sticky;top:16px;background:#fff;border:1px solid var(--jpai-line);border-radius:16px;padding:16px}
.jpai-iv-side .jp-h3{margin:0 0 10px}
.jpai-done-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.jpai-done-list>li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--jpai-mu)}
.jpai-done-list>li>span{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:#F1F5F9;font-weight:800;font-size:12.5px;color:#64748B}
.jpai-done-list>li.is-done>span{background:var(--jpai-ok);color:#fff}
.jpai-done-list>li.is-current>span{background:var(--jpai-p);color:#fff}
.jpai-done-list>li.is-current b{color:var(--jpai-ink)}
.jpai-done-list b{display:block;font-weight:600;line-height:1.35}
.jpai-done-list small{font-weight:800;color:var(--jpai-ink)}
.jpai-done-list details{margin-top:4px}.jpai-done-list summary{cursor:pointer;color:var(--jpai-p);font-weight:600}
.jpai-done-list .jpai-fb{padding:10px;margin-top:6px}
.jpai-voice{margin-bottom:18px;border:2px solid var(--jpai-m);background:linear-gradient(180deg,#fff,var(--jpai-l))}
.jpai-voice-status{font-weight:700;color:var(--jpai-d);margin:10px 0 0}
.jpai-transcript{margin:10px 0 0;padding:0 0 0 18px;max-height:260px;overflow:auto;font-size:14px}
.jpai-transcript li{margin:0 0 6px}.jpai-transcript li.is-ai{color:var(--jpai-d)}.jpai-transcript li.is-me{color:var(--jpai-ink);font-weight:600}
.jpai-report-head{display:flex;gap:26px;align-items:center}
.jpai-report-head .jpai-ring{width:150px;height:150px}
.jpai-report-head .jpai-ring:before{inset:13px}
.jpai-report-head .jpai-ring b{font-size:44px}
.jpai-report-head .jp-h1{margin:6px 0 2px}
.jpai-role{font-weight:700;color:var(--jpai-mu);margin:0 0 6px}
.jpai-report-cols{margin-top:18px}
.jpai-qa{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.jpai-qa summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;cursor:pointer;list-style:none}
.jpai-qa summary::-webkit-details-marker{display:none}
.jpai-qa summary b{flex:1 1 320px;color:var(--jpai-ink)}
.jpai-answer{margin:12px 0;padding:10px 14px;border-left:4px solid var(--jpai-m);background:#F8FAFC;border-radius:0 10px 10px 0;color:var(--jpai-t);font-size:14.5px}
.jpai-report-actions{margin-top:20px}
.jpai-credits{font-size:15px;margin:0 0 8px}.jpai-credits b{font-size:22px;color:var(--jpai-ink)}
.jpai-last{margin:0 0 10px}
@media (max-width:900px){.jpai-hero-in{grid-template-columns:1fr}.jpai-mock{display:none}.jpai-iv-grid{grid-template-columns:1fr}.jpai-iv-side{position:static}}
@media (max-width:640px){.jpai-hero{padding:30px 0 44px}.jpai-row2{grid-template-columns:1fr}.jpai-iv-head{grid-template-columns:1fr}.jpai-progress-label{grid-column:1;text-align:left}
  .jpai-report-head{flex-direction:column;text-align:center}.jpai-answer-bar{flex-wrap:wrap}.jpai-answer-bar .jp-btn-primary{width:100%;margin-left:0}}
@media print{.jpai-fab,.jpai-panel,header,footer,nav,.jp-sessbar,.jpai-report-actions,.jp-crumbs{display:none!important}.jpai-qa details{display:block}.jpai-qa details>*{display:block}}
