/* ===== Creador de CV: sección ===== */
.cvcta{display:flex;align-items:center;gap:14px;margin:4px 16px 14px;padding:16px;border-radius:20px;border:0;width:calc(100% - 32px);text-align:left;font-family:inherit;color:#fff;background:linear-gradient(135deg,#7c3aed,#1f6fb2);box-shadow:0 12px 28px -12px rgba(124,58,237,.7);cursor:pointer;animation:up .35s ease both}
.cvcta .ci{font-size:38px;flex:none;width:58px;height:58px;display:grid;place-items:center;background:rgba(255,255,255,.18);border-radius:16px}.cvcta b{display:block;font-size:18px}.cvcta small{display:block;opacity:.92;font-size:12.5px;line-height:1.35;margin-top:2px}.cvcta .cg{margin-left:auto;flex:none;background:#fff;color:#5b21b6;font-weight:800;border-radius:999px;padding:8px 12px;font-size:13px;white-space:nowrap}.cvcta:active{transform:scale(.98)}
.cvs{position:fixed;inset:0;z-index:25;background:var(--bg);display:none;flex-direction:column}.cvs.on{display:flex}
.cvtop{flex:none;background:#fff}.cvtop .topbar{border-radius:0}.cvtop .back{border:0;background:none;font-weight:800;color:var(--p);font-family:inherit;cursor:pointer}
.cvprog{display:flex;align-items:center;gap:10px;padding:6px 14px 10px;border-bottom:1px solid var(--ln);font-size:12px;color:var(--mu);font-weight:700}.cvbar{flex:1;height:6px;border-radius:9px;background:#e8eef6;overflow:hidden}.cvbar i{display:block;height:100%;background:linear-gradient(90deg,#7c3aed,var(--p2));transition:width .3s}
.cvbody{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cvin{max-width:620px;margin:0 auto;padding:16px 16px 30px}.cvin h2{margin:4px 0 6px;font-size:22px}
.cvnav{flex:none;display:flex;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--ln)}.cvnav .btn{margin:0}.cvnav .ghost{flex:0 0 34%}
.cvin label{display:block;font-weight:700;font-size:14px;margin:12px 0 6px}.cvin input:not([type=checkbox]):not([type=range]),.cvin select,.cvin textarea{width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid var(--ln);border-radius:12px;background:#fff}.cvin textarea{resize:vertical;line-height:1.4}
.opt{font-weight:500;color:var(--mu);font-size:12px}.cv2{display:grid;grid-template-rows:auto auto;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);column-gap:10px}.cv2 input,.cv2 select{min-width:0}.cv2 label{margin-top:12px}
.cvin .err{color:#b91c1c;font-size:13px;font-weight:600;margin-top:4px}
.cvchips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.cvchips.wrap{flex-wrap:wrap}.cvchip{flex:none;border:1px solid var(--ln);background:#fff;border-radius:999px;padding:9px 13px;font:600 13.5px inherit;font-family:inherit;color:var(--tx);cursor:pointer}.cvchip.on{background:var(--p);border-color:var(--p);color:#fff}
.cvsug{display:grid;gap:8px;margin-top:6px}.cvs1{text-align:left;border:1px dashed #b7c6da;background:#f6f9fd;border-radius:12px;padding:10px 12px;font:500 14px inherit;font-family:inherit;color:var(--tx);cursor:pointer;line-height:1.35}.cvs1.on{border-style:solid;border-color:var(--ok);background:#ecfdf3}.cvsug.sm{grid-template-columns:1fr 1fr}.cvsug.sm .cvs1{font-size:12.5px;padding:8px}
.cvsw{display:flex!important;gap:12px;align-items:flex-start;background:#f3efff;border:1px solid #ddd2ff;border-radius:14px;padding:12px;font-weight:500!important}.cvsw input{width:22px;height:22px;flex:none;margin-top:2px}.cvsw small{color:var(--mu)}
.cvblk{background:#fff;border:1px solid var(--ln);border-radius:16px;padding:6px 14px 14px;margin:12px 0}.cvbh{display:flex;justify-content:space-between;align-items:center;padding-top:6px}.cvrm{border:0;background:#fee2e2;color:#b91c1c;border-radius:10px;padding:7px 10px;font:700 12px inherit;font-family:inherit}
.cvin .acc{display:flex;gap:8px;align-items:center;font-weight:600}.cvh3{margin:22px 0 4px}
.cvrow{display:flex;gap:8px}.cvrow .btn{margin:0;flex:none}
.cvtag{display:inline-flex;align-items:center;background:#eef4fb;border:1px solid #d5e3f3;border-radius:999px;padding:2px 4px 2px 10px}.cvtag input{border:0!important;background:none!important;padding:6px 2px!important;font-size:14px!important;width:auto!important;min-width:60px}.cvtag button{border:0;background:#dbe7f5;border-radius:50%;width:26px;height:26px;font-size:12px}
.cvph{display:flex;gap:14px;align-items:center}.cvph img,.cvph0{width:84px;height:100px;border-radius:14px;object-fit:cover;flex:none;background:#eef2f7;display:grid;place-items:center;font-size:36px}.cvup{cursor:pointer;margin:0!important;color:#fff!important}
.cvdg{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}@media(min-width:600px){.cvdg{grid-template-columns:1fr 1fr 1fr}}
.cvd{border:2px solid var(--ln);background:#fff;border-radius:16px;padding:8px;text-align:left;font-family:inherit;cursor:pointer}.cvd.on{border-color:#7c3aed;box-shadow:0 0 0 3px #ede4ff}.cvd b{display:block;margin-top:6px;font-size:14px}.cvd span{font-size:12px;color:var(--mu)}.cvd .cvsc{max-height:200px;overflow:hidden;border-radius:8px;border:1px solid var(--ln);pointer-events:none}
.cvcol{display:flex;gap:10px;flex-wrap:wrap}.sw{width:38px;height:38px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--ln);cursor:pointer}.sw.on{box-shadow:0 0 0 3px var(--tx)}
.cvlive{margin-top:22px;background:#fff;border:1px solid var(--ln);border-radius:16px;padding:10px}.cvlh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cvlink{border:0;background:#eef2f7;border-radius:999px;padding:7px 12px;font:700 13px inherit;font-family:inherit;color:var(--p)}
.cvsc{position:relative;overflow:hidden;width:100%}.cvsc .cvp{transform-origin:0 0;position:relative}.cvsc .cvp+.cvp{margin-top:calc(12px / var(--s,1))}
#cvMini{max-height:none;border:1px solid var(--ln);border-radius:6px;cursor:zoom-in}
.cvbig{margin:14px 0;background:#e9eef5;padding:10px;border-radius:14px}.cvbig .cvsc{box-shadow:0 6px 18px -8px rgba(0,0,0,.3)}
.cvjump{display:flex;gap:6px;overflow-x:auto;padding:6px 0}
.cvpay{background:#ecfdf3;border:1px solid #b7ebcb;border-radius:16px;padding:14px;margin:14px 0}.cvprice{display:flex;justify-content:space-between;align-items:center;font-weight:700}.cvprice b{font-size:26px;color:var(--ok)}.cvpay ul{margin:8px 0 0;padding:0;list-style:none;font-size:14px;line-height:1.7}
.cvfull,.cvadm{position:fixed;inset:0;z-index:45;background:rgba(15,25,40,.96);display:flex;flex-direction:column}.cvadm{background:var(--bg)}
.cvfbar{flex:none;display:flex;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top)) 14px 12px;background:#fff;border-bottom:1px solid var(--ln)}.cvx{border:0;background:#eef2f7;border-radius:999px;padding:10px 14px;font:800 14px inherit;font-family:inherit}
.cvfb{flex:1;overflow:auto;padding:14px;-webkit-overflow-scrolling:touch}.cvfull .note{color:#cbd5e1}.cvfb>.cvsc{max-width:820px;margin:0 auto}
.cvtools{max-width:820px;margin:0 auto 12px;background:#fff;border-radius:14px;padding:12px;border:1px solid var(--ln)}.cvtools select{width:100%;padding:10px;border-radius:10px;border:1px solid var(--ln);font:inherit;margin-bottom:10px}
.crop{margin:10px auto;border-radius:14px;overflow:hidden;touch-action:none;background:#fff}.crop canvas{width:100%;height:100%;display:block;cursor:grab}#cz{width:80%;margin:10px auto}
/* ===== Hoja del CV (A4 = 794x1123 px) ===== */
.cvp{width:794px;min-height:1123px;background:#fff;color:#1f2937;font-family:'Plus Jakarta Sans',Arial,sans-serif;font-size:13.5px;line-height:1.45;padding:48px 52px;box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact;overflow:hidden}
.cvp h1{margin:0;font-size:32px;line-height:1.1;color:#111827}.cvp h2{margin:4px 0 0;font-size:16px;font-weight:700;color:var(--c)}.cvp h3{margin:20px 0 8px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
.cvp p{margin:0}.cvp ul{margin:4px 0 0;padding-left:18px}.cvp li{margin:2px 0}.cvp ul.plain{list-style:none;padding:0}.cvp ul.tags{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}.cvp ul.tags li{margin:0;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--c) 12%,#fff);color:#1f2937;font-size:12.5px}
.cvp .it{margin-bottom:12px;break-inside:avoid}.cvp .ith{display:flex;justify-content:space-between;gap:10px}.cvp .dt{color:#6b7280;font-size:12.5px;white-space:nowrap}.cvp .org{color:#4b5563;font-weight:600}
.cvp .hd{display:flex;gap:22px;align-items:center}.cvp .ph{width:120px;height:144px;border-radius:12px;object-fit:cover;flex:none}.cvp .ph.ini{display:grid;place-items:center;background:rgba(255,255,255,.2);color:#fff;font-size:44px;font-weight:800}
.cvp .ct{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:10px;font-size:12.5px;color:#374151}.cvp .i{margin-right:5px}
.cvp .two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
/* clásico */
.d-clasico .hd{border-bottom:3px solid var(--c);padding-bottom:18px}.d-clasico h3{border-bottom:1px solid #e5e7eb;padding-bottom:4px}
/* moderno: barra lateral */
.d-moderno{padding:0}.d-moderno .cols,.d-creativo .cols{display:grid;min-height:1123px}.d-moderno .cols{grid-template-columns:260px 1fr}
.d-moderno .sd{background:var(--c);color:#fff;padding:40px 24px}.d-moderno .sd .ph{width:150px;height:180px;margin:0 auto 10px;display:block;border:4px solid rgba(255,255,255,.35)}.d-moderno .sd h3{color:#fff;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:4px}.d-moderno .sd ul.tags li{background:rgba(255,255,255,.16);color:#fff}.d-moderno .sd li{word-break:break-word}
.d-moderno .mn{padding:44px 36px}.d-moderno .mn .hd{margin-bottom:6px}.d-moderno .mn h1{font-size:34px}
/* ejecutivo */
.d-ejecutivo{padding:0}.d-ejecutivo .hd{background:#111827;color:#fff;padding:38px 52px;border-bottom:6px solid var(--c)}.d-ejecutivo .hd h1{color:#fff;letter-spacing:.02em}.d-ejecutivo .hd h2{color:color-mix(in srgb,var(--c) 45%,#fff)}.d-ejecutivo .hd .ct{color:#d1d5db}.d-ejecutivo .ph{width:110px;height:132px;border:3px solid var(--c)}
.d-ejecutivo>section,.d-ejecutivo>.two{padding:0 52px}.d-ejecutivo>section:last-child{padding-bottom:40px}.d-ejecutivo h3{color:#111827;border-left:4px solid var(--c);padding-left:10px}
/* creativo */
.d-creativo{padding:0}.d-creativo .cols{grid-template-columns:1fr 250px}.d-creativo .mn{padding:0 0 30px}.d-creativo .mn>section{padding:0 30px 0 44px}
.d-creativo .hd{background:var(--c);color:#fff;padding:36px 30px 36px 44px;border-radius:0 0 40px 0;margin-bottom:6px}.d-creativo .hd h1{color:#fff}.d-creativo .hd h2{color:#fff;opacity:.9}.d-creativo .hd .ph{border-radius:50%;width:120px;height:120px;border:4px solid #fff}
.d-creativo .sd{background:color-mix(in srgb,var(--c) 10%,#fff);padding:36px 22px}.d-creativo h3{display:inline-block;background:var(--c);color:#fff;padding:4px 12px;border-radius:999px;letter-spacing:.06em}.d-creativo .sd li{word-break:break-word}
/* operativo sencillo */
.d-operativo{font-size:15.5px}.d-operativo h1{font-size:34px}.d-operativo h3{font-size:16px;background:color-mix(in srgb,var(--c) 12%,#fff);padding:6px 10px;border-radius:6px;letter-spacing:.05em}.d-operativo .ct{font-size:15px}.d-operativo .hd{padding-bottom:10px}
/* ATS una columna */
.d-ats{font-family:Arial,Helvetica,sans-serif;font-size:13.5px;color:#000}.d-ats h1{font-size:26px;color:#000}.d-ats h2{color:#000}.d-ats h3{color:#000;border-bottom:1.5px solid #000;padding-bottom:2px;letter-spacing:.04em}.d-ats .ph{display:none}.d-ats .ct{color:#000}.d-ats .ct span+span:before{content:'| ';margin-right:4px}.d-ats ul.tags{display:block;padding-left:0}.d-ats ul.tags li{display:inline;background:none;padding:0;font-size:13.5px}.d-ats ul.tags li+li:before{content:' · '}.d-ats .org,.d-ats .dt{color:#000}
/* elegante */
.d-elegante{font-family:Georgia,'Times New Roman',serif;padding:56px 64px}.d-elegante .hd{flex-direction:column;text-align:center;gap:10px}.d-elegante .ph{border-radius:50%;width:120px;height:120px}.d-elegante h1{font-weight:400;font-size:36px;letter-spacing:.06em;text-transform:uppercase}.d-elegante h2{font-style:italic;font-weight:400}.d-elegante .ct{justify-content:center}
.d-elegante h3{text-align:center;font-weight:400;letter-spacing:.25em;display:flex;align-items:center;gap:12px}.d-elegante h3:before,.d-elegante h3:after{content:'';flex:1;border-top:1px solid var(--c)}.d-elegante ul.tags{justify-content:center}
/* compacto */
.d-compacto{padding:36px 42px;font-size:12.5px}.d-compacto .hd{background:color-mix(in srgb,var(--c) 8%,#fff);border-radius:14px;padding:18px}.d-compacto .ph{width:90px;height:108px}.d-compacto h1{font-size:26px}.d-compacto h3{margin-top:14px;font-size:12px}.d-compacto .it{margin-bottom:8px}
/* carta */
.cvp.carta{padding:64px 72px;font-size:14.5px;line-height:1.65}.carta .ch{border-bottom:3px solid var(--c);padding-bottom:14px;margin-bottom:34px}.carta .ch h1{font-size:28px;color:var(--c)}.carta .ch div{color:#4b5563;font-size:13px;margin-top:4px}.carta .cb p{margin:0 0 14px}
/* marca de agua */
.cvp.cvwm{position:relative;user-select:none;-webkit-user-select:none}.cvp .wmk{position:absolute;inset:0;pointer-events:none;z-index:9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='220'%3E%3Ctext x='10' y='140' transform='rotate(-28 180 110)' font-family='Arial' font-weight='700' font-size='26' fill='%23000' fill-opacity='.13'%3EVISTA PREVIA · Mi Trámite Rápido%3C/text%3E%3C/svg%3E")}
@media print{.cvp .wmk{display:block!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cvwm,.cvsc,.cvfull{visibility:visible}}
.cvtop .topbar{display:flex;justify-content:space-between;align-items:center;padding:calc(10px + env(safe-area-inset-top)) 14px 8px}.cvtop .back,.cvtop .home{border:0;border-radius:999px;padding:9px 14px;font:800 14px inherit;font-family:inherit;cursor:pointer}.cvtop .back{background:#eef2f7;color:var(--p)}.cvtop .home{background:var(--p);color:#fff}
/* ===== v19: sección secundaria en inicio + móvil ===== */
.cvsec{margin:18px 16px 10px}.cvsech{font-size:15px;margin:0 0 8px;color:var(--mu)}
.cvsec .cvcta{margin:0;width:100%;padding:12px;gap:12px;border-radius:16px;animation:none;box-shadow:0 8px 18px -12px rgba(124,58,237,.7)}
.cvsec .cvcta .ci{font-size:26px;width:44px;height:44px;border-radius:12px}.cvsec .cvcta b{font-size:16px}.cvsec .cvcta small{font-size:12px}.cvsec .cvcta .ct2{min-width:0;flex:1}
.cvs,.cvbody,.cvin{max-width:100vw;overflow-x:hidden}.cvin{padding:14px 14px 28px}.cvin h2{font-size:21px;line-height:1.2}
.cvin .opt{display:inline;border:0;background:none;padding:0;margin:0;width:auto;box-shadow:none;font-size:12px;border-radius:0}
.cvdg{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(min-width:600px){.cvdg{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cvd{min-width:0;padding:6px;border-radius:14px;min-height:44px}.cvd .cvsc{max-height:none;width:100%}.cvd b{font-size:14px;margin-top:6px}.cvd span{display:block;font-size:12px;line-height:1.3}
.cvd.on{position:relative}.cvd.on:after{content:'✓';position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;background:#7c3aed;color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px}
.sw{width:44px;height:44px}.cvcol{gap:10px}
.cvchip{padding:11px 14px;min-height:44px}.cvrm{padding:10px 12px;min-height:40px}.cvtag button{width:32px;height:32px}
.cvnav{gap:8px}.cvnav .btn{min-height:50px;font-size:16px}.cvnav .ghost{flex:0 0 30%}.cvnav .pv{flex:0 0 56px;padding:0;background:#f3efff;color:#5b21b6;font-size:22px;border:1px solid #ddd2ff}
.cvprog{flex-wrap:nowrap}.cvprog span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}
.cvsug.sm{grid-template-columns:repeat(2,minmax(0,1fr))}.cv2 > *{min-width:0}
.cvlive{padding:8px}.cvbig{padding:8px}.cvfb{padding:10px}
.cvph{flex-wrap:wrap}.cvrow{flex-wrap:wrap}.cvrow input{min-width:0;flex:1}
#toast{pointer-events:none}
/* ===== v20: marca de agua densa y protección de vista previa ===== */
.cvp.cvwm{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='170'%3E%3Cg transform='rotate(-30 150 85)' font-family='Arial' font-weight='800' text-anchor='middle'%3E%3Ctext x='150' y='70' font-size='22' fill='%23b91c1c' fill-opacity='.30'%3EVISTA PREVIA%3C/text%3E%3Ctext x='150' y='100' font-size='18' fill='%23000' fill-opacity='.26'%3EPENDIENTE DE PAGO%3C/text%3E%3Ctext x='150' y='126' font-size='14' fill='%23b91c1c' fill-opacity='.30'%3ENO PAGADO%3C/text%3E%3C/g%3E%3C/svg%3E")!important;background-repeat:repeat!important;background-size:300px 170px!important}
.cvp .wmk{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='170'%3E%3Cg transform='rotate(-30 150 85)' font-family='Arial' font-weight='800' text-anchor='middle'%3E%3Ctext x='150' y='70' font-size='22' fill='%23b91c1c' fill-opacity='.30'%3EVISTA PREVIA%3C/text%3E%3Ctext x='150' y='100' font-size='18' fill='%23000' fill-opacity='.26'%3EPENDIENTE DE PAGO%3C/text%3E%3Ctext x='150' y='126' font-size='14' fill='%23b91c1c' fill-opacity='.30'%3ENO PAGADO%3C/text%3E%3C/g%3E%3C/svg%3E")!important;background-size:240px 136px!important;background-repeat:repeat!important;z-index:20!important;display:block!important;pointer-events:none}
.cvp.cvwm .sd,.cvp.cvwm .hd,.cvp.cvwm .mn{background-blend-mode:normal}
.cvs,.cvfull,.cvs .cvp,.cvfull .cvp,.cvsc{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}
.cvs input,.cvs textarea,.cvs select{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
.cvs img,.cvfull img{-webkit-user-drag:none;pointer-events:none}
#cvprintmsg{display:none}
@media print{body:has(.cvs.on)>*:not(#cvprintmsg),body:has(.cvfull)>*:not(#cvprintmsg){display:none!important}body:has(.cvs.on) #cvprintmsg,body:has(.cvfull) #cvprintmsg{display:block!important;font:700 28px Arial,sans-serif;text-align:center;padding:120px 40px;color:#111}}
/* ===== v21: opción de fotografía ===== */
.cvphsel{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.cvphb{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:76px;border:2px solid var(--ln);background:#fff;border-radius:14px;font-size:26px;font-family:inherit;cursor:pointer;padding:10px 6px;color:var(--tx)}
.cvphb b{font-size:14px}.cvphb.on{border-color:#7c3aed;background:#f3efff;box-shadow:0 0 0 3px #ede4ff}
.cvp.nph .ph{display:none!important}
.d-moderno.nph .sd{padding-top:44px}.d-creativo.nph .hd{padding-top:40px;padding-bottom:40px}.d-elegante.nph .hd{gap:6px}
/* ===== v23: más secciones ===== */
.cvmore{background:#fff;border:1px solid var(--ln);border-radius:14px;margin:14px 0;overflow:hidden}.cvmore summary{list-style:none;cursor:pointer;padding:14px;font-weight:800;font-size:15px;min-height:48px;display:flex;align-items:center;gap:6px}.cvmore summary::-webkit-details-marker{display:none}.cvmore summary:before{content:'＋';color:#7c3aed;font-weight:900}.cvmore[open] summary:before{content:'－'}.cvmb{padding:0 14px 14px}
.cvdocs{display:grid;gap:4px}.cvdocs .acc{margin:0;padding:10px 12px;background:#fff;border:1px solid var(--ln);border-radius:12px;font-size:14px;min-height:44px}.cvdocs input{width:22px;height:22px;flex:none}
.cvp .rt{color:#6b7280;font-size:.9em;font-weight:400}.cvp .s-inf li{margin:3px 0}.d-moderno .sd .rt{color:rgba(255,255,255,.75)}.cvp .s-int p{margin:0}
