.cv-layout{display:grid;grid-template-columns:minmax(320px,440px) 1fr;gap:20px;align-items:start}
@media(max-width:960px){.cv-layout{grid-template-columns:1fr}}
.cv-form fieldset{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 12px;background:var(--card)}
.cv-form legend{font-weight:800;padding:0 6px}
.entry{border:1px dashed var(--dash);border-radius:10px;padding:8px 10px;margin:8px 0;position:relative}
.entry .rm{position:absolute;top:6px;right:6px}
.tpls{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}
.tpls button{border:2px solid var(--line);background:var(--inp);color:var(--txt);border-radius:10px;padding:8px;font:inherit;font-size:.85rem;cursor:pointer}.tpls button[aria-pressed=true]{border-color:var(--acc);background:var(--soft2);font-weight:700}
.preview-wrap{position:sticky;top:76px;background:var(--pvbg);border-radius:14px;padding:16px;overflow:auto;max-height:calc(100vh - 96px)}
.sheet-scale{transform-origin:top left}
/* the CV page */
.cv{width:210mm;min-height:297mm;background:#fff;color:#1f2330;font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:10pt;line-height:1.45;box-shadow:0 6px 30px rgba(0,0,0,.12);--c:#3b3fbd;overflow:hidden}
.cv h1{font-size:22pt;margin:0;line-height:1.1;letter-spacing:-.02em}.cv .role{font-size:11.5pt;color:var(--c);font-weight:600;margin-top:2px}
.cv h2{font-size:10.5pt;text-transform:uppercase;letter-spacing:.08em;color:var(--c);margin:14pt 0 5pt;padding-bottom:3pt;border-bottom:1.2pt solid var(--c)}
.cv .contact{font-size:9pt;color:#4b5163;margin-top:6pt}.cv .contact span{margin-right:10pt;white-space:nowrap}
.cv .e{margin-bottom:7pt;break-inside:avoid}.cv .e .t{font-weight:700}.cv .e .s{color:#5a6074;font-size:9pt}.cv .e .d{margin-top:2pt;white-space:pre-line}
.cv .row2{display:flex;justify-content:space-between;gap:8pt}.cv .dt{font-size:9pt;color:#5a6074;white-space:nowrap}
.cv ul{margin:0;padding-left:14pt}.cv p{margin:0;white-space:pre-line}
.cv .photo{width:30mm;height:30mm;border-radius:50%;object-fit:cover}
.cv .chips{display:flex;flex-wrap:wrap;gap:4pt}.cv .chip{border:1px solid #d6d9e4;border-radius:20pt;padding:1pt 7pt;font-size:9pt}
/* clásica */
.cv.t-clasica{padding:16mm 18mm;font-family:Georgia,"Times New Roman",serif}.cv.t-clasica .head{display:flex;gap:14pt;align-items:center;text-align:left}
.cv.t-clasica h2{color:#222;border-color:#222}.cv.t-clasica .role{color:#444}
/* moderna (sidebar) */
.cv.t-moderna{display:grid;grid-template-columns:68mm 1fr}
.cv.t-moderna .side{background:var(--c);color:#fff;padding:14mm 8mm;min-height:297mm}.cv.t-moderna .side h2{color:#fff;border-color:rgba(255,255,255,.5)}
.cv.t-moderna .side .contact{color:#eef}.cv.t-moderna .side .contact span{display:block;margin:0 0 3pt;white-space:normal;word-break:break-word}
.cv.t-moderna .side .chip{border-color:rgba(255,255,255,.5)}.cv.t-moderna .main{padding:14mm 10mm}.cv.t-moderna .photo{display:block;margin:0 auto 10pt;border:3pt solid rgba(255,255,255,.6)}
.cv.t-moderna .side .role{color:#fff;opacity:.9}.cv.t-moderna .side .s,.cv.t-moderna .side .dt{color:#e5e7ff}
/* minimal */
.cv.t-minimal{padding:20mm 22mm}.cv.t-minimal h1{font-weight:300;font-size:26pt}.cv.t-minimal h2{border:0;color:#111;letter-spacing:.18em;font-size:9pt;margin-top:16pt}
.cv.t-minimal .sec{display:grid;grid-template-columns:34mm 1fr;gap:10pt}.cv.t-minimal .sec h2{margin-top:0}.cv.t-minimal .sec{margin-top:12pt}
.cv.t-minimal .role{color:#666;font-weight:400}.cv.t-minimal .head{display:flex;justify-content:space-between;align-items:center}
/* ejecutiva */
.cv.t-ejecutiva .band{background:var(--c);color:#fff;padding:12mm 16mm;display:flex;gap:14pt;align-items:center}.cv.t-ejecutiva .band .role,.cv.t-ejecutiva .band .contact{color:#fff;opacity:.92}
.cv.t-ejecutiva .body{padding:6mm 16mm 14mm;display:grid;grid-template-columns:1fr 58mm;gap:12mm}.cv.t-ejecutiva .photo{border:3pt solid #fff}
/* creativa */
.cv.t-creativa{padding:14mm 16mm;border-top:8mm solid var(--c)}.cv.t-creativa h2{border:0;background:color-mix(in srgb,var(--c) 12%,#fff);padding:3pt 7pt;border-radius:4pt;color:var(--c)}
.cv.t-creativa .head{display:flex;gap:14pt;align-items:center}.cv.t-creativa .photo{border-radius:12pt}.cv.t-creativa .cols{display:grid;grid-template-columns:1fr 60mm;gap:10mm}
@media print{
  @page{size:A4;margin:0}
  html,body{background:#fff!important;color-scheme:light}body>*:not(main),main>*:not(.cv-layout),.cv-form,.no-print{display:none!important}
  .cv-layout{display:block}.cv-layout .preview-wrap{display:block!important;position:static;padding:0;background:none;max-height:none;overflow:visible}
  .sheet-scale{transform:none!important;width:auto!important;height:auto!important}.cv{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  main.wrap{max-width:none;padding:0}
}
