/* Recruiter profile panel: charts use CSS classes (CSP forbids inline styles) */
.pf-main{max-width:60rem;margin:0 auto;padding:1.5rem 16px 3rem}
.pf-main h1{font:700 1.8rem/1.15 var(--display);letter-spacing:-.02em;margin:.2rem 0 .5rem}
.pf-main h2{font:700 1.2rem/1.2 var(--display);margin:0 0 .7rem}
.pf-main h3{font:600 1rem/1.3 var(--sans);margin:0 0 .4rem;display:flex;flex-wrap:wrap;gap:.2rem .8rem;justify-content:space-between}
.pf-main h3 small{font-weight:400;color:var(--muted)}
.pf-role{color:var(--muted);margin:0 0 .4rem}
.pf-contact{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin:0 0 1rem}
.pf-block{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:1rem 1.1rem;margin:0 0 1rem}
.pf-block p{margin:0}
.pf-main ul{margin:.3rem 0;padding-left:1.2rem}
.pf-plain{list-style:none;padding-left:0!important}
.pf-plain li{margin:.35rem 0}
.pf-co{border-top:1px solid var(--rule);padding:.6rem 0}
.pf-co:first-of-type{border-top:0}
.pf-co>summary{cursor:pointer;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.2rem .8rem}
.pf-co>summary span{color:var(--muted)}
.pf-role-box{margin:.7rem 0 .2rem}
.pf-dl{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr;gap:.4rem 1rem;margin:0}
.pf-dl dt{font-weight:600}.pf-dl dd{margin:0}
@media(max-width:560px){.pf-dl{grid-template-columns:1fr}}
.pf-kpis{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem;padding:0!important;margin:0 0 1rem!important}
.pf-kpis li{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:.7rem .8rem;display:flex;flex-direction:column;gap:.15rem}
.pf-kpis b{font:700 1.5rem/1.1 var(--display);color:var(--accent)}
:root[data-theme="dark"] .pf-kpis b{color:color-mix(in srgb,var(--accent) 60%,white)}
.pf-kpis span{font-size:.9rem}.pf-kpis small{color:var(--muted);font-size:.78rem}
.pf-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem}
.pf-fig{margin:0;background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:.9rem 1rem}
.pf-fig figcaption{font-weight:600;margin:0 0 .5rem}
.pf-svg{width:100%;height:auto;display:block}
.pf-t{font:13.5px var(--sans);fill:var(--muted)}
.pf-v{font:600 13.5px var(--sans);fill:var(--ink)}
.pf-axis{stroke:var(--rule);stroke-width:1}
.pf-line{stroke:var(--accent);stroke-width:2.5}
.pf-dot{fill:var(--accent)}
.c1{fill:var(--accent);stroke:var(--accent)}.c2{fill:#2A9D8F;stroke:#2A9D8F}.c3{fill:#E9A23B;stroke:#E9A23B}
.c4{fill:#7A5AA6;stroke:#7A5AA6}.c5{fill:#C8553D;stroke:#C8553D}.c6{fill:#6C7A89;stroke:#6C7A89}
.pf-bar{stroke:none}
.pf-seg{fill:none}
.pf-donut-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.pf-donut{width:9rem;flex:none}
.pf-legend{list-style:none;padding:0!important;margin:0!important;font-size:.9rem}
.pf-legend li{margin:.25rem 0;display:flex;align-items:center;gap:.5rem}
.pf-sw{width:.8rem;height:.8rem;border-radius:2px;display:inline-block;stroke:none}
.pf-data{margin-top:.6rem;font-size:.85rem}
.pf-data summary{cursor:pointer;color:var(--muted)}
.pf-data table,.pf-table{width:100%;border-collapse:collapse;margin-top:.4rem}
.pf-data th,.pf-data td,.pf-table th,.pf-table td{text-align:left;padding:.35rem .4rem;border-bottom:1px solid var(--rule);font-size:.88rem}
.pf-scroll{overflow-x:auto}
.pf-form{display:grid;gap:.7rem;max-width:34rem}
.pf-form label{display:grid;gap:.25rem;font-size:.9rem}
.pf-form input,.pf-form select,.pf-form textarea{font:inherit;padding:.5rem .6rem;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink)}
.pf-note,.pf-empty{color:var(--muted);font-size:.88rem}
.logout{display:inline;margin:0}
.nav-link.is-on{font-weight:700;text-decoration:underline}
@media print{.site-bar,.foot,.no-print,.pf-data summary,.lang-menu{display:none!important}.pf-block,.pf-fig,.pf-kpis li{break-inside:avoid;border-color:#bbb}.pf-data[open]{display:block}body{background:#fff}}
.pf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pf-req{margin:1.2rem 0;text-align:left}
.pf-req>summary{cursor:pointer;color:var(--accent);text-align:center;margin-bottom:.6rem}
.pf-table small{color:var(--muted)}

/* ---------- v3: vivid charts + filter cube ---------- */
.pf-defs{position:absolute;width:0;height:0}
.c1{fill:#4F8CFF;stroke:#4F8CFF}.c2{fill:#14B8A6;stroke:#14B8A6}.c3{fill:#F5A524;stroke:#F5A524}.c4{fill:#A855F7;stroke:#A855F7}.c5{fill:#F4506B;stroke:#F4506B}.c6{fill:#38BDF8;stroke:#38BDF8}
.pf-bar.c1{fill:url(#pfg1)}.pf-bar.c2{fill:url(#pfg2)}.pf-bar.c3{fill:url(#pfg3)}.pf-bar.c4{fill:url(#pfg4)}.pf-bar.c5{fill:url(#pfg5)}.pf-bar.c6{fill:url(#pfg6)}
.pf-bar{stroke:none;transform-box:fill-box;transform-origin:left center;animation:pf-grow .9s cubic-bezier(.2,.8,.2,1) both}
.pf-bar.c2{animation-delay:.07s}.pf-bar.c3{animation-delay:.14s}.pf-bar.c4{animation-delay:.21s}.pf-bar.c5{animation-delay:.28s}.pf-bar.c6{animation-delay:.35s}
.pf-area{fill:url(#pfarea);stroke:none}
.pf-line{stroke:#4F8CFF;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1400;animation:pf-draw 1.4s ease forwards}
.pf-dot{fill:#fff;stroke:#4F8CFF;stroke-width:3}
.pf-donut{animation:pf-pop .9s cubic-bezier(.2,.8,.2,1) both}
.pf-seg{stroke-linecap:butt}
.pf-fig{background:linear-gradient(180deg,rgba(79,140,255,.07),transparent 60%),var(--surface);box-shadow:0 6px 24px -14px rgba(79,140,255,.45)}
.pf-fig figcaption{font:700 1.02rem var(--display)}
.pf-kpis li{background:linear-gradient(135deg,rgba(79,140,255,.14),rgba(168,85,247,.10));border-color:rgba(124,110,250,.28);transition:transform .2s}
.pf-kpis li:hover{transform:translateY(-3px)}
.pf-kpis b{background:linear-gradient(90deg,#2563EB,#7C3AED);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:1.75rem}
@keyframes pf-grow{from{transform:scaleX(0)}}
@keyframes pf-draw{from{stroke-dashoffset:1400}to{stroke-dashoffset:0}}
@keyframes pf-pop{from{opacity:0;transform:rotate(-40deg) scale(.7)}}
@media (prefers-reduced-motion:reduce){.pf-bar,.pf-line,.pf-donut{animation:none}.pf-kpis li{transition:none}}

.pf-cube{display:none;margin:0 0 1rem;padding:1.1rem 1.2rem;border-radius:16px;border:1px solid rgba(124,110,250,.35);background:linear-gradient(135deg,rgba(79,140,255,.10),rgba(168,85,247,.10)),var(--surface)}
.js .pf-cube{display:block}
.pf-cube-top h2{margin:0 0 .2rem}
.pf-cube-top p{margin:0;color:var(--muted)}
.pf-cube-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin:.8rem 0 .4rem}
.pf-cube-bar input{flex:1 1 14rem;font:inherit;padding:.55rem .8rem;border-radius:999px;border:1px solid var(--rule);background:var(--paper);color:var(--ink)}
.pf-result{min-height:1.4em;margin:.2rem 0 .6rem!important;font-weight:600;color:var(--accent)!important}
.pf-facets{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem 1.4rem}
.pf-facet h3{margin:0 0 .4rem;font:600 .78rem var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);display:block}
.pf-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.pf-chip{font:inherit;font-size:.86rem;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer;transition:transform .15s,background .15s,color .15s,border-color .15s}
.pf-chip:hover{transform:translateY(-1px);border-color:#4F8CFF}
.pf-chip:focus-visible{outline:2px solid #4F8CFF;outline-offset:2px}
.pf-chip.is-on{background:linear-gradient(90deg,#4F8CFF,#A855F7);color:#fff;border-color:transparent}
.pf-chip.is-empty{opacity:.6;border-style:dashed}
.pf-n{display:inline-block;min-width:1.25em;margin-left:.2rem;padding:0 .35em;border-radius:999px;background:rgba(79,140,255,.18);font-size:.75rem;text-align:center}
.pf-chip.is-on .pf-n{background:rgba(255,255,255,.28)}
.is-hidden{display:none!important}
.pf-role-box.is-off,.pf-edu-item.is-off,.pf-co.is-off{display:none}
.pf-tl-row.is-off{opacity:.15}
.pf-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin:.1rem 0 .5rem!important}
.pf-tag{font-size:.74rem;padding:.12rem .55rem;border-radius:999px;background:rgba(79,140,255,.12);color:var(--muted);transition:background .2s,color .2s}
.pf-tag.is-hit{background:linear-gradient(90deg,#4F8CFF,#A855F7);color:#fff}
.pf-edu{list-style:none;padding-left:0!important;display:grid;gap:.5rem}
.pf-edu-item{display:flex;flex-direction:column;padding:.55rem .8rem;border-left:3px solid #A855F7;background:rgba(168,85,247,.06);border-radius:0 8px 8px 0}
.pf-edu-item span{color:var(--muted);font-size:.9rem}
.pf-fig-tl{margin:0 0 1rem}
@media print{.pf-cube,.pf-chip{display:none!important}}
.pf-block.is-off{display:none}
@media (prefers-color-scheme:dark){:root[data-theme="dark"] .pf-kpis b{background:linear-gradient(90deg,#7AA9FF,#C084FC);-webkit-background-clip:text;background-clip:text}}

/* ---------- v4: compact profile (phone first) ---------- */
.pf-main{padding:1rem 14px 2.5rem}
.pf-main h1{font-size:1.5rem}
.pf-head{margin-bottom:.4rem}
.pf-contact{font-size:.9rem;margin-bottom:.6rem}
/* headline band */
.pf-band{grid-template-columns:repeat(3,1fr)!important;gap:.4rem!important;padding:.5rem!important;border-radius:12px;background:linear-gradient(135deg,#0B2E6B,#16408F);margin-bottom:.8rem!important}
.pf-band li{background:transparent!important;border:0!important;padding:.3rem .2rem!important;text-align:center;align-items:center}
.pf-band b{background:none!important;-webkit-background-clip:initial!important;color:#fff!important;font-size:1.25rem!important}
.pf-band span{font-size:.7rem;color:#CFE0FF;line-height:1.2}
@media(min-width:640px){.pf-band{grid-template-columns:repeat(6,1fr)!important}.pf-band b{font-size:1.45rem!important}}
/* folded summary blocks */
.pf-fold{padding:.6rem .9rem}
.pf-fold>summary{cursor:pointer;list-style:none}
.pf-fold>summary h2{display:inline;font-size:1rem;margin:0}
.pf-fold>summary::after{content:"▾";float:right;color:var(--muted)}
.pf-fold[open]>summary::after{content:"▴"}
.pf-fold p{margin-top:.5rem!important;font-size:.95rem}
/* filter: tabs + small chips + role list */
.pf-cube{padding:.8rem .9rem;border-radius:12px;margin-bottom:.8rem}
.pf-cube-top h2{font-size:1.05rem}
.pf-cube-top p{font-size:.85rem}
.pf-cats{display:flex;gap:.3rem;overflow-x:auto;margin:.6rem -.2rem .5rem;padding:0 .2rem .2rem;scrollbar-width:thin}
.pf-cat{flex:none;font:inherit;font-size:.82rem;padding:.3rem .65rem;border-radius:8px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer}
.pf-cat.is-on{background:#16408F;color:#fff;border-color:#16408F}
.pf-cat-n{font-style:normal;margin-left:.3rem;padding:0 .35em;border-radius:999px;background:#F5A524;color:#1b1b1b;font-size:.7rem}
.pf-chips{display:flex;flex-wrap:wrap;gap:.25rem}
.pf-chip{font-size:.76rem;padding:.18rem .5rem;border-radius:6px;display:inline-flex;align-items:center;gap:.25rem;line-height:1.25}
.pf-chip .pf-n{margin:0;padding:0 .3em;font-size:.68rem}
.pf-chip.is-on{background:#16408F;border-color:#16408F}
.pf-sel{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin:.6rem 0 .2rem}
.pf-sel[hidden],.pf-match[hidden]{display:none}
.pf-sel-list{display:flex;flex-wrap:wrap;gap:.25rem}
.pf-pill{font:inherit;font-size:.74rem;padding:.12rem .5rem;border-radius:999px;border:0;background:#F5A524;color:#1b1b1b;cursor:pointer}
.pf-clear{font:inherit;font-size:.78rem;background:none;border:0;color:var(--accent);text-decoration:underline;cursor:pointer;margin-left:auto}
.pf-match{margin-top:.5rem;border-top:1px solid var(--rule);padding-top:.5rem}
.pf-match h3{font:700 .8rem var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:block;margin:0 0 .3rem}
.pf-rolelist{list-style:none;padding:0!important;margin:0!important;display:grid;gap:.25rem}
.pf-rolelist li.is-off{display:none}
.pf-rolelist label{display:flex;align-items:flex-start;gap:.5rem;padding:.35rem .5rem;border:1px solid var(--rule);border-radius:8px;cursor:pointer;background:var(--paper)}
.pf-rolelist input{margin-top:.2rem;width:1.05rem;height:1.05rem;accent-color:#16408F;flex:none}
.pf-rl-t{display:flex;flex-direction:column;font-size:.88rem;line-height:1.25}
.pf-rl-t small{color:var(--muted);font-size:.75rem}
.pf-result{font-size:.82rem;margin:.5rem 0 0!important;min-height:0}
/* experience: company cards, roles folded */
.pf-co{border:1px solid var(--rule);border-left:4px solid var(--cc,#4F8CFF);border-radius:8px;padding:.1rem .6rem;margin:.5rem 0;background:var(--paper)}
.pf-co:first-of-type{border-top:1px solid var(--rule)}
.pf-co.is-off{display:none}
.pf-co>summary{list-style:none;padding:.5rem 0;align-items:center;flex-wrap:nowrap}
.pf-co-n{display:flex;flex-direction:column;min-width:0}
.pf-co-n strong{color:var(--cc,var(--ink));font-size:1rem}
.pf-co-n em{font-style:normal;font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-co-s{font-size:.75rem;color:var(--muted);text-align:right;flex:none;max-width:7.5rem}
.pf-role-box{margin:.35rem 0;border-top:1px solid var(--rule);padding:.15rem 0}
.pf-role-box.is-off{display:none}
.pf-role-box>summary{cursor:pointer;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.1rem .6rem;padding:.3rem 0;list-style:none}
.pf-role-box>summary b{font-size:.92rem}
.pf-role-box>summary small{color:var(--muted);font-size:.75rem}
.pf-role-box ul{font-size:.88rem;padding-left:1.05rem}
.pf-role-box ul li{margin:.2rem 0}
.pf-tags{margin:.1rem 0 .3rem!important}
.pf-tag{font-size:.68rem;padding:.08rem .45rem}
.pf-tag.is-hit{background:#16408F}
/* company colours */
.pf-cc-neonhybrid{--cc:#0F9D9A}.pf-cc-banamex{--cc:#0B3B8F}.pf-cc-ac{--cc:#2E9E5B}.pf-cc-sonda{--cc:#1F5FBF}.pf-cc-grupo_salinas{--cc:#E58E0B}.pf-cc-unisys{--cc:#D4142A}
/* timeline by company */
.pf-fig-tl{padding:.7rem .8rem}
.pf-tl .pf-co-l{font-size:11px;fill:var(--ink);font-weight:600}
.pf-tl .pf-yr{font-size:10px}
.pf-grid{stroke:var(--rule);stroke-width:1;stroke-dasharray:2 3}
.pf-tl-track{fill:var(--cc,#4F8CFF);opacity:.28}
.pf-tl-seg{fill:var(--cc,#4F8CFF);stroke:var(--surface);stroke-width:1.5;transition:opacity .2s}
.pf-tl-seg.is-off{opacity:.12}
/* metrics page */
.pf-talent,.pf-strip{list-style:none;padding:0!important;margin:0!important;display:grid;gap:.4rem}
.pf-talent li{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem}
.pf-badge{flex:none;background:var(--cc,#16408F);color:#fff;border-radius:6px;padding:.2rem .5rem;font-size:.74rem;font-weight:700;line-height:1.25;max-width:9.5rem}
.pf-strip{grid-template-columns:repeat(3,1fr)}
.pf-strip li{display:flex;flex-direction:column;align-items:stretch;gap:.2rem;text-align:center}
.pf-strip .pf-badge{max-width:none;padding:.5rem .2rem}
.pf-strip small{font-size:.7rem;color:var(--muted)}
@media(min-width:640px){.pf-strip{grid-template-columns:repeat(6,1fr)}}
.pf-pg{font:700 .74rem var(--sans)!important;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);display:block!important;margin:.7rem 0 .3rem!important}
.pf-pills{display:flex;flex-wrap:wrap;gap:.25rem;margin:0!important}
.pf-pills span{font-size:.76rem;padding:.15rem .5rem;border-radius:6px;border:1px solid #16408F;color:#16408F}
:root[data-theme="dark"] .pf-pills span{color:#9DBBFF;border-color:#4F78C7}
.pf-pills.is-solid span{background:#16408F;color:#fff;border-color:#16408F}
.pf-charts{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.7rem}
.pf-fig{padding:.7rem .8rem}
.pf-block{padding:.8rem .9rem;margin-bottom:.8rem}

/* v5: team filter, kpi line */
.pf-tf{display:grid;gap:.4rem;margin:.2rem 0 .7rem}.pf-tf-row{display:flex;flex-wrap:wrap;gap:.35rem}
.pf-talent li[hidden]{display:none}.pf-tn{margin-left:.3rem;padding:0 .45em;border-radius:999px;background:rgba(79,140,255,.18)}
.pf-kpi-line{display:flex;flex-wrap:wrap;gap:.3rem;margin:.4rem 0}.pf-kpi-line span{padding:.15rem .55rem;border-radius:999px;background:rgba(79,140,255,.12);font-size:.8rem;font-weight:600}

/* v6: one tab per topic */
.pf-tabs{display:flex;gap:.4rem;overflow-x:auto;padding:.2rem 0 .7rem;margin:0 0 .8rem;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.pf-tab{flex:0 0 auto;padding:.5rem .9rem;border:1px solid var(--rule);border-radius:999px;background:var(--surface);color:inherit;text-decoration:none;font-weight:600;font-size:.95rem;white-space:nowrap}
.pf-tab.is-on{background:#1F5FBF;border-color:#1F5FBF;color:#fff}
.js .pf-panel:not(.is-on){display:none}
.pf-h{font:700 1.4rem/1.2 var(--display);margin:.2rem 0 .5rem}
.pf-hint{color:var(--muted);margin:0 0 .9rem;font-size:.95rem}
.pf-empty{color:var(--muted)}
.pf-panel .pf-block h2{font-size:1.1rem}
.pf-ex{--cc:#4F8CFF;border:1px solid var(--rule);border-left:5px solid var(--cc);border-radius:10px;background:var(--surface);margin:0 0 .6rem}
.pf-ex>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.15rem .8rem;padding:.8rem .9rem}
.pf-ex>summary::-webkit-details-marker{display:none}
.pf-ex>summary::after{content:"+";margin-left:auto;font:700 1.3rem/1 var(--sans);color:var(--cc)}
.pf-ex[open]>summary::after{content:"\2212"}
.pf-ex-t{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.pf-ex-t strong{font-size:1.1rem;color:var(--cc)}
.pf-ex-t em{font-style:normal;color:var(--muted);font-size:.95rem}
.pf-ex-d{font-size:.85rem;color:var(--muted);order:3;flex-basis:100%}
.pf-ex-b{padding:0 .9rem .9rem;border-top:1px solid var(--rule)}
.pf-rl{margin:.8rem 0 0}.pf-rl h4{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.1rem .8rem;margin:0 0 .3rem;font:700 1rem/1.3 var(--sans)}
.pf-rl h4 small{font-weight:400;color:var(--muted)}
.pf-rl ul{margin:.4rem 0 0;padding-left:1.1rem}.pf-rl li{margin:.45rem 0;line-height:1.5}
.pf-card{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:.8rem .9rem;margin:0 0 .6rem}
.pf-card h3{display:block;margin:0 0 .3rem;font:700 1.05rem/1.3 var(--sans)}
.pf-meta{display:flex;flex-wrap:wrap;gap:.3rem .9rem;color:var(--muted);font-size:.9rem;margin:0}
.pf-st{color:#1c7c54;font-weight:600}
.pf-card ul{margin:.5rem 0 0;padding-left:1.1rem}
.pf-pills{display:flex;flex-wrap:wrap;gap:.35rem;margin:.3rem 0 0}
.pf-pills span{padding:.3rem .7rem;border-radius:999px;background:rgba(79,140,255,.14);font-size:.9rem}
.pf-mco{border-left:5px solid var(--cc,#4F8CFF)}.pf-mco h3{color:var(--cc,inherit)}
.pf-rbar{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;align-items:center;margin:0 0 .5rem}
.pf-resume{background:#fff;color:#111;border-radius:10px;padding:1.2rem}
.pf-resume h1{font-size:1.6rem;margin:0}.pf-resume h2{font:700 1rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #ccc;padding-bottom:.2rem;margin:1.1rem 0 .5rem}
.pf-resume .pf-role{color:#444}.pf-resume h3{display:flex;justify-content:space-between;gap:1rem;margin:.8rem 0 .1rem;font:700 1rem/1.3 var(--sans)}
.pf-resume small{color:#555;font-weight:400}.pf-resume .pf-kpi-line span{background:#eef2fb;color:#111}
.pf-resume a{color:#1F5FBF}.pf-r-contact{display:none}.pf-r-on .pf-r-contact{display:flex}
@media print{
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body *{visibility:hidden}
  .pf-panel.is-on,.pf-panel.is-on *{visibility:visible}
  .pf-panel.is-on{display:block!important;position:absolute;left:0;top:0;width:100%}
  .pf-resume{padding:0;border-radius:0}.no-print{display:none!important}
  body{background:#fff!important}
}
.pf-cc-amazing_and_cool{--cc:#2E9E5B}
:root[data-theme="dark"] .pf-ex-t strong,:root[data-theme="dark"] .pf-mco h3{color:color-mix(in srgb,var(--cc,#4F8CFF) 55%,white)}
/* v7: ficha look */
.pf-svgi{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.pf-ic{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:12px;flex:0 0 auto;font-weight:700;font-size:.85rem}
.pf-ic.t1{background:rgba(79,140,255,.18);color:#4F8CFF}.pf-ic.t2{background:rgba(155,92,255,.18);color:#9B5CFF}.pf-ic.t3{background:rgba(24,190,160,.18);color:#14b497}
.pf-ic.t4{background:rgba(255,138,76,.2);color:#f07a35}.pf-ic.t5{background:rgba(255,92,138,.18);color:#f0537f}.pf-ic.t6{background:rgba(245,176,36,.2);color:#d99a0b}
.pf-bl h2{display:flex;align-items:center;gap:.6rem}.pf-bl p{line-height:1.6}
.pf-block h3 .pf-ic{margin-right:.6rem}.pf-block>h3{display:flex;align-items:center;justify-content:flex-start}
.pf-ini{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:12px;background:var(--cc,#4F8CFF);color:#fff;font:700 1.2rem/1 var(--display);flex:0 0 auto}
.pf-ex>summary{align-items:center;flex-wrap:nowrap;gap:.8rem}.pf-ex-d{order:0;flex-basis:auto;white-space:nowrap}
.pf-ex>summary::after{margin-left:.2rem}
@media(max-width:520px){.pf-ex>summary{flex-wrap:wrap}.pf-ex-t{flex:1 1 9rem}.pf-ex-d{flex-basis:100%;padding-left:3.4rem}.pf-ex>summary::after{position:absolute;right:1rem}.pf-ex>summary{position:relative;padding-right:2.2rem}}
.pf-ktiles{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:0!important;margin:.6rem 0!important}
.pf-ktiles li{background:rgba(79,140,255,.1);border-radius:12px;padding:.6rem .7rem;display:flex;flex-direction:column;gap:.1rem;margin:0}
.pf-ktiles b{font:800 1.35rem/1.1 var(--display);color:#4F8CFF}.pf-ktiles span{font-size:.82rem;line-height:1.25;color:var(--muted)}
.pf-ktiles li.is-txt{grid-column:1/-1}.pf-ktiles li.is-txt span{color:inherit;font-weight:600}
.pf-fichas{list-style:none;padding:0!important;margin:.6rem 0 0!important;display:grid;gap:.55rem}
.pf-ficha{display:flex;gap:.7rem;align-items:flex-start;background:rgba(127,127,127,.07);border:1px solid var(--rule);border-radius:14px;padding:.7rem .75rem;margin:0!important}
.pf-ficha h5{margin:.1rem 0 .2rem;font:700 .98rem/1.3 var(--sans)}.pf-ficha p{margin:0;font-size:.92rem;line-height:1.5;color:var(--muted)}
.pf-card{display:flex;gap:.8rem;align-items:flex-start;border-radius:14px}.pf-card-b{min-width:0}
.pf-card .pf-st{background:rgba(24,190,160,.16);color:#14b497;padding:.05rem .55rem;border-radius:999px}
.pf-tools{list-style:none;padding:0!important;margin:.5rem 0 0!important;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}
.pf-tools li{display:flex;align-items:center;gap:.6rem;background:rgba(127,127,127,.07);border:1px solid var(--rule);border-radius:12px;padding:.5rem;margin:0}
.pf-tools .pf-ic{width:2.1rem;height:2.1rem;border-radius:10px}.pf-tools li>span:last-child{font-size:.92rem;font-weight:600;min-width:0;overflow-wrap:anywhere}
.pf-mco .pf-rl h4{margin-top:.2rem}
.pf-resume .pf-ficha,.pf-resume .pf-ktiles{display:none}
@page{size:A4;margin:12mm}
@media print{.pf-resume{font-size:9.5pt;line-height:1.3}.pf-resume h1{font-size:18pt}.pf-resume h2{font-size:9.5pt;margin:.7rem 0 .25rem}.pf-resume h3{font-size:10pt;margin:.5rem 0 .1rem}.pf-resume ul{margin:.15rem 0;padding-left:1rem}.pf-resume li{margin:.1rem 0}.pf-resume p{margin:.15rem 0}.pf-main{padding:0}}
/* v8: infographic tab = "Infografía" CV design (fixed light palette, like a printed poster) */
.pf-ig{--n:#0b2a5b;--b:#1565d8;--l:#e8f0fb;background:#fff;color:#111;border-radius:14px;overflow:hidden;border:1px solid #d5e3f7;font-family:var(--sans)}
.ig-hd{display:flex;align-items:center;gap:1rem;padding:1.1rem 1rem;background:linear-gradient(100deg,#fff 55%,var(--l));border-bottom:4px solid var(--b)}
.ig-av{display:flex;align-items:center;justify-content:center;width:4.6rem;height:4.6rem;border-radius:50%;border:4px solid var(--b);box-shadow:0 0 0 4px var(--l);background:var(--n);color:#fff;font:800 1.4rem/1 var(--display);flex:0 0 auto}
.ig-name{font:800 1.7rem/1.05 var(--display);color:var(--n);letter-spacing:-.5px;margin:0}.ig-name span{color:var(--b)}
.ig-hl{margin:.3rem 0 .4rem;font-weight:600;color:var(--n);font-size:.95rem}.ig-ct{display:flex;flex-wrap:wrap;gap:.2rem .9rem;margin:0;font-size:.82rem;color:#333}
.ig-kp{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);margin:0;padding:0;background:var(--n);color:#fff}
.ig-kp li{text-align:center;padding:.8rem .4rem;border:1px solid #ffffff22;border-width:0 1px 1px 0}
.ig-ki{width:1.4rem;height:1.4rem;stroke:#7fb2ff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block;margin:0 auto .2rem}
.ig-kp b{display:block;font:800 1.45rem/1.1 var(--display)}.ig-kp small{font-size:.75rem;opacity:.9;display:block}
.ig-main{display:grid;grid-template-columns:1fr}.ig-l{padding:1rem}.ig-r{padding:1rem;background:linear-gradient(#f5f9ff,#fff)}
.ig-h{display:flex;align-items:center;gap:.6rem;margin:1rem 0 .6rem;font:800 1rem/1.2 var(--sans);color:var(--n);text-transform:uppercase;letter-spacing:.4px}
.ig-h:first-child{margin-top:0}.ig-h::after{content:"";flex:1;height:2px;background:var(--l)}
.pf-ig p{font-size:.92rem;line-height:1.5;margin:0 0 .5rem}
.ig-tl{border-left:3px solid var(--b);margin-left:.4rem;padding-left:1rem}
.ig-ex{--c:#1565d8;position:relative;padding:.7rem .75rem;margin:0 0 .7rem;background:#f7faff;border:1px solid #dce7f7;border-radius:10px}
.ig-ex::before{content:"";position:absolute;left:-1.5rem;top:1rem;width:.8rem;height:.8rem;border-radius:50%;background:#fff;border:3px solid var(--b)}
.ig-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;flex-wrap:wrap}
.ig-top h4{margin:0;font:700 1rem/1.25 var(--sans);color:var(--n)}.ig-p{margin:.1rem 0 0!important;font-size:.82rem!important;color:var(--b);font-weight:600}
.ig-lg{font-weight:800;font-size:1.05rem;color:var(--c)}
.ig-mt{display:flex;flex-wrap:wrap;gap:.25rem .1rem;margin:.4rem 0!important;padding:.25rem .3rem;background:#eaf2fd;border-radius:6px;font-size:.78rem!important;color:#2b3a4f;line-height:1.35}
.ig-mt span{padding:0 .5rem;border-right:1px solid #bcd2f2}.ig-mt span:last-child{border:0}.ig-mt strong{color:var(--b)}
.ig-ex ul{margin:.4rem 0 0;padding-left:1.1rem;font-size:.85rem;line-height:1.45;color:#222}.ig-ex li{margin:.25rem 0}.ig-lb{color:var(--n)}
.ig-sb{margin-top:.5rem;padding:.35rem .6rem .5rem;background:#fff;border-left:3px solid var(--b);border-radius:6px}.ig-sb h5{margin:0;font:700 .9rem/1.3 var(--sans);color:var(--n)}.ig-sb h5 i{font-style:normal;color:var(--b);font-weight:600;font-size:.82rem}
.ig-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:0 0 .6rem}
.ig-tile{background:#fff;border:1px solid #d5e3f7;border-radius:10px;text-align:center;padding:.5rem .2rem;font-size:.72rem;font-weight:600;color:var(--n);line-height:1.2}
.ig-i{width:1.5rem;height:1.5rem;stroke:var(--b);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:block;margin:0 auto .25rem}
.ig-cd{background:#fff;border:1px solid #d5e3f7;border-radius:10px;padding:.6rem .7rem;margin:0 0 .6rem}
.ig-lab{font-weight:700;color:var(--n);font-size:.85rem!important;margin:0 0 .3rem!important}
.ig-dw{display:flex;gap:.7rem;align-items:center}.ig-donut{width:6.5rem;height:6.5rem;flex:0 0 auto}.ig-dn{font:800 19px var(--sans);fill:#0b2a5b}.ig-du{font:7.5px var(--sans);fill:#44546a}
.ig-lgd{list-style:none;margin:0;padding:0;flex:1}.ig-lgd li{display:flex;align-items:center;gap:.4rem;font-size:.82rem;margin:.15rem 0}.ig-lgd i{width:.7rem;height:.7rem;border-radius:2px;background:var(--c,#1565d8)}.ig-lgd span{flex:1}.ig-lgd b{color:var(--n)}
.ig-nt{font-size:.72rem!important;color:#555;margin:.4rem 0 0!important}
.ig-row{display:flex;align-items:center;gap:.5rem;font-size:.82rem;margin:.25rem 0}.ig-row i{width:4rem;font-style:normal;color:#333}.ig-bar{flex:1;height:.7rem}.ig-bar rect{fill:var(--b)}.ig-row b{color:var(--n);width:1.2rem;text-align:right}
.ig-tk{display:flex;gap:.5rem;margin:.35rem 0;font-size:.78rem;line-height:1.35;align-items:stretch}
.ig-tkh{flex:0 0 5.2rem;background:var(--c,#1565d8);color:#fff;border-radius:6px;padding:.2rem .3rem;text-align:center;font-size:.68rem;display:flex;flex-direction:column;justify-content:center}.ig-tkh b{font-size:.78rem}
.ig-tkb{flex:1;align-self:center}.ig-tkb em{font-style:normal;color:#555}.ig-tkb strong{color:var(--n)}
.ig-traj{display:flex;gap:.2rem}.ig-traj>div{flex:1 1 0;min-width:0;text-align:center}.ig-traj span{display:flex;align-items:center;justify-content:center;height:2.2rem;border-radius:5px;background:var(--c,#1565d8);color:#fff;font-size:.6rem;font-weight:700;line-height:1.1;padding:0 .1rem;overflow-wrap:anywhere}.ig-traj small{display:block;margin-top:.2rem;font-size:.6rem;color:#444;line-height:1.15}
.ig-bd{display:flex;flex-wrap:wrap;gap:.3rem}.ig-bd span{background:var(--n);color:#fff;border-radius:7px;padding:.25rem .6rem;font-size:.75rem;font-weight:600}
.ig-tg{display:flex;flex-wrap:wrap;gap:.3rem}.ig-tg span{background:#fff;border:1px solid #b9d0f3;border-radius:7px;padding:.2rem .5rem;font-size:.75rem;color:var(--n);font-weight:600}
.ig-ed p{margin:0 0 .3rem;padding-left:.5rem;border-left:3px solid var(--b);font-size:.8rem!important;line-height:1.35!important}.ig-ed strong{color:var(--n)}
.ig-co-neonhybrid{--c:#0e8fa8}.ig-co-banamex{--c:#0b3d91}.ig-co-amazing_and_cool{--c:#3c9a6e}.ig-co-sonda{--c:#1565d8}.ig-co-grupo_salinas{--c:#f39200}.ig-co-unisys{--c:#d0021b}
@media(min-width:760px){.ig-kp{grid-template-columns:repeat(6,1fr)}.ig-kp li{border-width:0 1px 0 0}.ig-main{grid-template-columns:1.9fr 1fr}.ig-name{font-size:2.3rem}.ig-av{width:6rem;height:6rem}}

/* v9 (v121): theme, homologated skills, tags, captions, infographic print */
:root[data-theme="dark"]{--paper:#161A20;--surface:#1E232B;--ink:#E7EAEF;--muted:#A3ACB9;--rule:#323944;color-scheme:dark}
:root[data-theme="light"]{--paper:#F5F6F8;--surface:#FFFFFF;--ink:#1B2230;--muted:#586273;--rule:#D9DEE5;color-scheme:light}
:root[data-theme="dark"] .link,:root[data-theme="dark"] .contact-mail{color:color-mix(in srgb,var(--accent) 55%,white)}
.pf-theme{margin-left:.3rem;white-space:nowrap}
.pf-ktiles li.is-cap{grid-column:1/-1;background:none;padding:.1rem 0}.pf-ktiles li.is-cap span{font-weight:700;color:inherit;font-size:.85rem}
.pf-kcap{background:none!important;font-weight:700;padding-left:0!important}
.ig-mt .ig-cap{font-weight:700;color:var(--n);width:100%;border:0}
.pf-sk{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:0!important;margin:.5rem 0 0!important}
.pf-sk li{display:flex;align-items:center;gap:.6rem;background:rgba(127,127,127,.07);border:1px solid var(--rule);border-radius:12px;padding:.55rem .6rem;margin:0;font-weight:600;font-size:.9rem}
.pf-sk-i{width:1.5rem;height:1.5rem;flex:0 0 auto;stroke:#4F8CFF;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:700px){.pf-sk,.pf-tools{grid-template-columns:repeat(3,1fr)}}
.pf-tg{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}
.pf-tg .pf-chip small{opacity:.7;margin-left:.2rem}.pf-tg .pf-chip.is-none{opacity:.55}
.pf-tg-bar{display:flex;align-items:center;gap:1rem;margin:.4rem 0}
.pf-tg-res{display:grid;gap:.7rem;margin-top:.6rem}
.pf-hit{border:1px solid var(--rule);border-left:5px solid var(--cc,#4F8CFF);border-radius:12px;background:var(--surface);padding:.7rem .8rem}
.pf-hit[hidden],.pf-tg-none[hidden],.pf-tg-none p[hidden]{display:none}
.pf-hit-h{display:flex;flex-wrap:wrap;gap:.1rem .7rem;margin:0 0 .4rem;align-items:baseline}.pf-hit-h strong{color:var(--cc)}.pf-hit-h span{font-weight:600}.pf-hit-h small{color:var(--muted)}
.pf-hit .pf-fichas{margin:0!important}.pf-hit-n{margin:0;color:var(--muted);font-size:.9rem}
.pf-tg-none p{color:var(--muted);margin:.3rem 0}
:root[data-theme="dark"] .pf-hit-h strong{color:color-mix(in srgb,var(--cc,#4F8CFF) 55%,white)}
@media print{
  body[data-printing="info"] .pf-ig{border:0;border-radius:0}
  body[data-printing="info"] .ig-main{grid-template-columns:1.9fr 1fr}
  body[data-printing="info"] .ig-kp{grid-template-columns:repeat(6,1fr)}body[data-printing="info"] .ig-kp li{border-width:0 1px 0 0}
  body[data-printing="info"] .pf-ig{font-size:8.2pt}body[data-printing="info"] .ig-name{font-size:20pt}body[data-printing="info"] .ig-av{width:4.2rem;height:4.2rem}
  body[data-printing="info"] .pf-ig p,body[data-printing="info"] .ig-ex ul{font-size:8pt!important}
  body[data-printing="info"] .ig-cd,body[data-printing="info"] .ig-sb,body[data-printing="info"] .ig-tile,body[data-printing="info"] .ig-h{break-inside:avoid}body[data-printing="info"] .ig-h{break-after:avoid}body[data-printing="info"] .ig-ex li{break-inside:avoid}body[data-printing="info"] .ig-ex{margin-bottom:.4rem;padding:.45rem .55rem}body[data-printing="info"] .pf-ig{font-size:7.4pt}body[data-printing="info"] .pf-ig p,body[data-printing="info"] .ig-ex ul{font-size:7.4pt!important;line-height:1.35}
  body[data-printing="resume"] .pf-panel:not(#pf-p-resume){display:none!important}
}

.pf-gchip{text-align:left;border-radius:14px;line-height:1.35}

/* v10 (v129): portal layout */
.pf-portal{max-width:72rem}
.pf-shell{display:grid;grid-template-columns:13rem 1fr;gap:1.25rem;align-items:start}
.pf-side{display:flex;flex-direction:column;gap:.25rem;position:sticky;top:1rem}
.pf-side a{padding:.55rem .8rem;border-radius:.6rem;text-decoration:none;color:inherit;border:1px solid transparent}
.pf-side a:hover{background:color-mix(in srgb,currentColor 7%,transparent)}
.pf-side a.is-on{background:color-mix(in srgb,currentColor 10%,transparent);border-color:color-mix(in srgb,currentColor 25%,transparent);font-weight:600}
.pf-badge{display:inline-block;min-width:1.25rem;padding:0 .35rem;border-radius:1rem;background:#c0392b;color:#fff;font-size:.75rem;text-align:center;font-weight:700}
.pf-badge[hidden]{display:none}
.pf-live{margin:0 0 1rem;padding:.7rem 1rem;border-radius:.6rem;background:#1f7a4d;color:#fff}
.pf-live a{color:#fff;text-decoration:underline}
.pf-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin:1rem 0}
.pf-stat{padding:.9rem;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:.8rem;display:flex;flex-direction:column;gap:.15rem}
.pf-stat b{font-size:1.7rem;line-height:1.1}.pf-stat span{font-size:.85rem;opacity:.75}
.pf-weeks{width:100%;max-width:26rem;height:auto}.pf-wk{fill:#2f6fed}.pf-wkt{font-size:8px;fill:currentColor}
.pf-subtabs,.pf-langsw{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}
.pf-subtabs a,.pf-langsw a{padding:.35rem .7rem;border-radius:1rem;border:1px solid color-mix(in srgb,currentColor 25%,transparent);text-decoration:none;color:inherit;font-size:.9rem}
.pf-subtabs a.is-on,.pf-langsw a.is-on{background:color-mix(in srgb,currentColor 12%,transparent);font-weight:600}
.pf-form textarea,.pf-search input{width:100%;font:inherit;padding:.6rem;border-radius:.5rem;border:1px solid color-mix(in srgb,currentColor 30%,transparent);background:transparent;color:inherit}
.pf-search{display:flex;gap:.5rem;margin:.8rem 0}.pf-search input{flex:1}
.sr{position:absolute;left:-9999px}
.pf-cards,.pf-threads{list-style:none;padding:0;display:grid;gap:.75rem}
.pf-cards{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}
.pf-card,.pf-threads li{padding:.9rem;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:.8rem}
.pf-threads a{display:flex;gap:.6rem;align-items:center;text-decoration:none;color:inherit;flex-wrap:wrap}
.pf-threads small{margin-left:auto;opacity:.65}.pf-threads li.is-new{border-color:#c0392b}
.pf-chat{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}
.pf-bub{max-width:80%;padding:.6rem .8rem;border-radius:.8rem}.pf-bub p{margin:0}.pf-bub small{opacity:.65}
.pf-bub.me{align-self:flex-end;background:color-mix(in srgb,#2f6fed 22%,transparent)}
.pf-bub.them{align-self:flex-start;background:color-mix(in srgb,currentColor 9%,transparent)}
.pf-contact{margin-bottom:1.2rem}
@media(max-width:760px){.pf-shell{grid-template-columns:1fr}.pf-side{position:static;flex-direction:row;overflow-x:auto}.pf-side a{white-space:nowrap}}
