/* Generated template accent tokens */
[data-template="resume_01"] {
  --cv-a50: #fafafa;
  --cv-a100: #f4f4f5;
  --cv-a200: #e4e4e7;
  --cv-a400: #a1a1aa;
  --cv-a500: #71717a;
  --cv-a600: #52525b;
  --cv-a700: #3f3f46;
  --cv-a800: #27272a;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_02"] {
  --cv-a50: #eff6ff;
  --cv-a100: #dbeafe;
  --cv-a200: #bfdbfe;
  --cv-a400: #93c5fd;
  --cv-a500: #60a5fa;
  --cv-a600: #3b82f6;
  --cv-a700: #2563eb;
  --cv-a800: #1e3a8a;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_03"] {
  --cv-a50: #fafafa;
  --cv-a100: #f4f4f5;
  --cv-a200: #e4e4e7;
  --cv-a400: #a1a1aa;
  --cv-a500: #71717a;
  --cv-a600: #52525b;
  --cv-a700: #3f3f46;
  --cv-a800: #27272a;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_04"] {
  --cv-a50: #eef2ff;
  --cv-a100: #e0e7ff;
  --cv-a200: #c7d2fe;
  --cv-a400: #a5b4fc;
  --cv-a500: #818cf8;
  --cv-a600: #6366f1;
  --cv-a700: #4f46e5;
  --cv-a800: #312e81;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_05"] {
  --cv-a50: #f5f3ff;
  --cv-a100: #ede9fe;
  --cv-a200: #ddd6fe;
  --cv-a400: #c4b5fd;
  --cv-a500: #a78bfa;
  --cv-a600: #8b5cf6;
  --cv-a700: #7c3aed;
  --cv-a800: #4c1d95;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_06"] {
  --cv-a50: #faf5ff;
  --cv-a100: #f3e8ff;
  --cv-a200: #e9d5ff;
  --cv-a400: #d8b4fe;
  --cv-a500: #c084fc;
  --cv-a600: #a855f7;
  --cv-a700: #9333ea;
  --cv-a800: #581c87;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_07"] {
  --cv-a50: #f0fdfa;
  --cv-a100: #ccfbf1;
  --cv-a200: #99f6e4;
  --cv-a400: #5eead4;
  --cv-a500: #2dd4bf;
  --cv-a600: #14b8a6;
  --cv-a700: #0d9488;
  --cv-a800: #134e4a;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_08"] {
  --cv-a50: #ecfdf5;
  --cv-a100: #d1fae5;
  --cv-a200: #a7f3d0;
  --cv-a400: #6ee7b7;
  --cv-a500: #34d399;
  --cv-a600: #10b981;
  --cv-a700: #059669;
  --cv-a800: #064e3b;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_09"] {
  --cv-a50: #fafafa;
  --cv-a100: #f4f4f5;
  --cv-a200: #e4e4e7;
  --cv-a400: #a1a1aa;
  --cv-a500: #71717a;
  --cv-a600: #52525b;
  --cv-a700: #3f3f46;
  --cv-a800: #27272a;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_10"] {
  --cv-a50: #f0f9ff;
  --cv-a100: #e0f2fe;
  --cv-a200: #bae6fd;
  --cv-a400: #7dd3fc;
  --cv-a500: #38bdf8;
  --cv-a600: #0ea5e9;
  --cv-a700: #0284c7;
  --cv-a800: #0c4a6e;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_11"] {
  --cv-a50: #f0fdfa;
  --cv-a100: #ccfbf1;
  --cv-a200: #99f6e4;
  --cv-a400: #5eead4;
  --cv-a500: #2dd4bf;
  --cv-a600: #14b8a6;
  --cv-a700: #0d9488;
  --cv-a800: #134e4a;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_12"] {
  --cv-a50: #fafafa;
  --cv-a100: #f4f4f5;
  --cv-a200: #e4e4e7;
  --cv-a400: #a1a1aa;
  --cv-a500: #71717a;
  --cv-a600: #52525b;
  --cv-a700: #3f3f46;
  --cv-a800: #27272a;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_13"] {
  --cv-a50: #fff1f2;
  --cv-a100: #ffe4e6;
  --cv-a200: #fecdd3;
  --cv-a400: #fda4af;
  --cv-a500: #fb7185;
  --cv-a600: #f43f5e;
  --cv-a700: #e11d48;
  --cv-a800: #881337;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_14"] {
  --cv-a50: #fafafa;
  --cv-a100: #f4f4f5;
  --cv-a200: #e4e4e7;
  --cv-a400: #a1a1aa;
  --cv-a500: #71717a;
  --cv-a600: #52525b;
  --cv-a700: #3f3f46;
  --cv-a800: #27272a;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_15"] {
  --cv-a50: #ecfeff;
  --cv-a100: #cffafe;
  --cv-a200: #a5f3fc;
  --cv-a400: #67e8f9;
  --cv-a500: #22d3ee;
  --cv-a600: #06b6d4;
  --cv-a700: #0891b2;
  --cv-a800: #164e63;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_16"] {
  --cv-a50: #fff7ed;
  --cv-a100: #ffedd5;
  --cv-a200: #fed7aa;
  --cv-a400: #fdba74;
  --cv-a500: #fb923c;
  --cv-a600: #f97316;
  --cv-a700: #ea580c;
  --cv-a800: #7c2d12;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_17"] {
  --cv-a50: #fafafa;
  --cv-a100: #f4f4f5;
  --cv-a200: #e4e4e7;
  --cv-a400: #a1a1aa;
  --cv-a500: #71717a;
  --cv-a600: #52525b;
  --cv-a700: #3f3f46;
  --cv-a800: #27272a;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_18"] {
  --cv-a50: #fdf4ff;
  --cv-a100: #fae8ff;
  --cv-a200: #f5d0fe;
  --cv-a400: #f0abfc;
  --cv-a500: #e879f9;
  --cv-a600: #d946ef;
  --cv-a700: #c026d3;
  --cv-a800: #701a75;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_19"] {
  --cv-a50: #fafafa;
  --cv-a100: #f4f4f5;
  --cv-a200: #e4e4e7;
  --cv-a400: #a1a1aa;
  --cv-a500: #71717a;
  --cv-a600: #52525b;
  --cv-a700: #3f3f46;
  --cv-a800: #27272a;
  --cv-icon-sec: var(--cv-a600);
}

[data-template="resume_20"] {
  --cv-a50: #fff1f2;
  --cv-a100: #ffe4e6;
  --cv-a200: #fecdd3;
  --cv-a400: #fda4af;
  --cv-a500: #fb7185;
  --cv-a600: #f43f5e;
  --cv-a700: #e11d48;
  --cv-a800: #881337;
  --cv-icon-sec: var(--cv-a600);
}


/* Resume V2 — locked global tokens */
:root {
  --cv-sz-name: 1.75rem;
  --cv-wt-name: 800;
  --cv-tr-name: -0.025em;
  --cv-sz-role: 0.9rem;
  --cv-wt-role: 400;
  --cv-tr-role: 0.01em;
  --cv-sz-body: 14px;
  --cv-lh-body: 1.45;
  --cv-sz-section: 10px;
  --cv-sz-date: 12px;
  --cv-sz-meta: 10px;
  --cv-col-date: 7rem;
  --cv-gap-date: 1.25rem;
  --cv-gap-sec: 1.75rem;
  --cv-gap-blk: 1.25rem;
  --cv-gap-row: 1rem;
  --cv-text-1: #18181b;
  --cv-text-2: #52525b;
  --cv-text-3: #a1a1aa;
  --cv-bdr-m: #e4e4e7;
  --cv-bdr-s: #a1a1aa;
  --cv-pad-v: 14mm;
  --cv-pad-h: 16mm;
  --cv-pad-b: 16mm;
}

.cv-page-formal,
[data-template="resume_12"],
[data-template="resume_19"] {
  --cv-pad-v: 15mm;
  --cv-pad-h: 17mm;
}

@page {
  size: A4;
  margin: var(--cv-pad-v) var(--cv-pad-h);
}

#resume-print-root.cv-v2,
#resume-print-root.cv-v2 * {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

#resume-print-root.cv-v2 {
  font-family: "Inter", system-ui, sans-serif;
  font-size: var(--cv-sz-body);
  line-height: var(--cv-lh-body);
  color: var(--cv-text-1);
  box-sizing: border-box;
}

#resume-print-root.cv-v2 *,
#resume-print-root.cv-v2 *::before,
#resume-print-root.cv-v2 *::after {
  box-sizing: border-box;
}

#resume-print-root.cv-v2 .cv-page {
  width: 100%;
  max-width: 210mm;
  min-height: 297mm;
  box-sizing: border-box;
  padding: var(--cv-pad-v) var(--cv-pad-h) var(--cv-pad-b);
  background: #fff;
  position: relative;
}

#resume-print-root.cv-v2 .cv-page + .cv-page {
  break-before: page;
  page-break-before: always;
}

#resume-print-root.cv-v2 .cv-row {
  break-inside: avoid;
  page-break-inside: avoid;
  margin-bottom: var(--cv-gap-row);
}

#resume-print-root.cv-v2 .cv-sec {
  margin-bottom: var(--cv-gap-sec);
}

#resume-print-root.cv-v2 .cv-sec-title {
  break-after: avoid;
  page-break-after: avoid;
  font-size: var(--cv-sz-section);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--cv-text-1);
  margin-bottom: 0.65rem;
}

#resume-print-root.cv-v2 .cv-sec-icon {
  color: var(--cv-icon-sec);
  flex-shrink: 0;
}

#resume-print-root.cv-v2 .cv-name {
  font-size: var(--cv-sz-name);
  font-weight: var(--cv-wt-name);
  letter-spacing: var(--cv-tr-name);
  text-transform: uppercase;
  line-height: 1.15;
  color: var(--cv-text-1);
  border: 0;
  background: transparent;
  width: 100%;
  display: block;
}

#resume-print-root.cv-v2 .cv-doc-label {
  font-size: var(--cv-sz-meta);
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--cv-text-2);
  margin: 0 0 0.35rem;
}

#resume-print-root.cv-v2 .cv-body,
#resume-print-root.cv-v2 .cv-bullets {
  font-size: var(--cv-sz-body);
  line-height: var(--cv-lh-body);
  color: var(--cv-text-1);
}

#resume-print-root.cv-v2 .cv-bullets {
  margin: 0.35rem 0 0 1.1rem;
  padding: 0;
}

#resume-print-root.cv-v2 .cv-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem 0;
  font-size: var(--cv-sz-meta);
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cv-text-2);
  margin-bottom: var(--cv-gap-blk);
}

#resume-print-root.cv-v2 .cv-masthead {
  margin-bottom: var(--cv-gap-blk);
}

#resume-print-root.cv-v2 .cv-masthead-center {
  text-align: center;
}

#resume-print-root.cv-v2 .cv-swiss-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.25rem;
}

#resume-print-root.cv-v2 .cv-swiss-head .cv-masthead {
  margin-bottom: 0;
  flex: 1;
}

#resume-print-root.cv-v2 .cv-role-title {
  font-size: var(--cv-sz-role);
  font-weight: var(--cv-wt-role);
  letter-spacing: var(--cv-tr-role);
  color: var(--cv-text-2);
  text-align: right;
  max-width: 42%;
  line-height: 1.35;
}

#resume-print-root.cv-v2 .cv-meta-dot {
  color: var(--cv-text-3);
}

#resume-print-root.cv-v2 .cv-date-col {
  white-space: nowrap;
  font-size: var(--cv-sz-date);
  color: var(--cv-text-2);
  font-variant-numeric: tabular-nums;
}

#resume-print-root.cv-v2 .cv-exp-row {
  display: grid;
  grid-template-columns: var(--cv-col-date) 1fr;
  column-gap: var(--cv-gap-date);
}

#resume-print-root.cv-v2 .cv-exp-role {
  font-weight: 600;
  color: var(--cv-text-1);
}

#resume-print-root.cv-v2 .cv-exp-co {
  color: var(--cv-text-2);
}

#resume-print-root.cv-v2 input,
#resume-print-root.cv-v2 textarea {
  font: inherit;
  color: inherit;
  border: 0;
  border-bottom: 1px solid transparent;
  background: transparent;
  width: 100%;
  padding: 0.1rem 0;
  resize: vertical;
  transition: background 0.12s ease, border-color 0.12s ease;
}

#resume-print-root.cv-v2 .cv-name {
  border-bottom: 1px solid transparent;
}

#resume-print-root.cv-v2 .cv-body textarea {
  min-height: 4.5rem;
  line-height: var(--cv-lh-body);
}

#resume-print-root.cv-v2 .cv-photo-slot {
  border: 2px solid var(--cv-a200);
  background: var(--cv-a100);
  color: var(--cv-a800);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: var(--cv-gap-blk);
}

#resume-print-root.cv-v2 .cv-photo-hidden {
  visibility: hidden;
  height: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
}

#resume-print-root.cv-v2 .cv-photo-round {
  border-radius: 9999px;
}
#resume-print-root.cv-v2 .cv-photo-sq {
  border-radius: 0;
}
#resume-print-root.cv-v2 .cv-photo-rounded-sm {
  border-radius: 4px;
}
#resume-print-root.cv-v2 .cv-photo-sm {
  width: 64px;
  height: 64px;
}
#resume-print-root.cv-v2 .cv-photo-md {
  width: 72px;
  height: 72px;
}
#resume-print-root.cv-v2 .cv-photo-lg {
  width: 80px;
  height: 80px;
}

#resume-print-root.cv-v2 .cv-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#resume-print-root.cv-v2 .cv-footer-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--cv-gap-blk);
}

@media print {
  .builder-ui,
  .photo-bar,
  .no-print {
    display: none !important;
  }
  #resume-print-root.cv-v2 [data-sidebar-gradient] {
    background: var(--cv-a800) !important;
    background-image: none !important;
  }
}

#resume-print-root.cv-v2 .cv-split {
  display: flex;
  gap: var(--cv-gap-blk);
  align-items: stretch;
}

#resume-print-root.cv-v2 .cv-main {
  flex: 1 1 auto;
  min-width: 0;
}

#resume-print-root.cv-v2 .cv-sidebar-rail {
  flex-shrink: 0;
  align-self: stretch;
}

#resume-print-root.cv-v2 .cv-sidebar-rail:not(.cv-sidebar-dark) {
  background: var(--cv-a50);
  border: 1px solid var(--cv-bdr-m);
  padding: 1rem;
  border-radius: 4px;
}

#resume-print-root.cv-v2 .cv-sidebar-dark {
  background: linear-gradient(165deg, var(--cv-a800) 0%, var(--cv-a700) 100%);
  color: #fff;
  padding: 1rem;
  border-radius: 4px;
  border: 0;
}

#resume-print-root.cv-v2 .cv-sidebar-dark .cv-sec-title,
#resume-print-root.cv-v2 .cv-sidebar-dark .cv-body,
#resume-print-root.cv-v2 .cv-sidebar-dark .cv-skills-plain-row,
#resume-print-root.cv-v2 .cv-sidebar-dark .cv-meta-value {
  color: #f4f4f5;
}

#resume-print-root.cv-v2 .cv-sidebar-dark .cv-sec-icon {
  color: var(--cv-a200);
}

#resume-print-root.cv-v2 .cv-sidebar-dark a {
  color: #e0f2fe;
}

#resume-print-root.cv-v2 .cv-serif-doc {
  font-family: "Georgia", "Times New Roman", serif;
  max-width: 148mm;
  margin: 0 auto;
}

#resume-print-root.cv-v2 .cv-serif-doc .cv-name {
  font-family: inherit;
}

#resume-print-root.cv-v2 .cv-exp-table-html {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--cv-sz-body);
}

#resume-print-root.cv-v2 .cv-exp-table-html th {
  text-align: left;
  font-size: var(--cv-sz-section);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-bottom: 2px solid var(--cv-text-1);
  padding-bottom: 0.35rem;
}

#resume-print-root.cv-v2 .cv-exp-table-html td {
  vertical-align: top;
  padding: 0.5rem 0.35rem 0.5rem 0;
  border-bottom: 1px solid var(--cv-bdr-m);
}

#resume-print-root.cv-v2 thead {
  display: table-header-group;
}

/* Per-template typography — editorial / product-grade stacks */
[data-template="resume_01"] {
  font-family: "DM Sans", "Inter", system-ui, sans-serif;
}
[data-template="resume_02"] {
  font-family: "IBM Plex Sans", "Inter", system-ui, sans-serif;
}
[data-template="resume_03"] {
  font-family: "Inter", system-ui, sans-serif;
}
[data-template="resume_04"] {
  font-family: "Inter", system-ui, sans-serif;
}
[data-template="resume_04"] .cv-name,
[data-template="resume_04"] .cv-serif-doc .cv-name {
  font-family: "Source Serif 4", Georgia, serif;
}
[data-template="resume_05"] {
  font-family: "Inter", system-ui, sans-serif;
}
[data-template="resume_06"] {
  font-family: "Inter", system-ui, sans-serif;
}
[data-template="resume_06"] .cv-name {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 700;
}
[data-template="resume_07"] {
  font-family: "Manrope", "Inter", system-ui, sans-serif;
}
[data-template="resume_08"] {
  font-family: "JetBrains Mono", "Inter", monospace;
  font-size: 13px;
}
[data-template="resume_08"] .cv-name {
  font-family: "Inter", system-ui, sans-serif;
  font-size: var(--cv-sz-name);
}
[data-template="resume_09"] {
  font-family: "Libre Baskerville", Georgia, serif;
}
[data-template="resume_10"] {
  font-family: "Public Sans", "Inter", system-ui, sans-serif;
}
[data-template="resume_11"] {
  font-family: "Literata", Georgia, serif;
}
[data-template="resume_12"],
[data-template="resume_19"] {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
}
[data-template="resume_13"] {
  font-family: "Outfit", "Inter", system-ui, sans-serif;
}
[data-template="resume_14"] {
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif;
}
[data-template="resume_15"] {
  font-family: "Archivo", "Inter", system-ui, sans-serif;
}
[data-template="resume_16"] {
  font-family: "Newsreader", Georgia, serif;
}
[data-template="resume_17"] {
  font-family: "Inter", system-ui, sans-serif;
}
[data-template="resume_17"] .cv-name {
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
[data-template="resume_18"] {
  font-family: "Inter", system-ui, sans-serif;
}
[data-template="resume_18"] .cv-name {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  text-transform: none;
}
[data-template="resume_20"] {
  font-family: "DM Sans", "Inter", system-ui, sans-serif;
}

/* Subtle template accent on page 1 */
#resume-print-root.cv-v2 .cv-page:first-of-type::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--cv-a600);
}

#resume-print-root.cv-v2[data-template="resume_03"] .cv-page:first-of-type::before,
#resume-print-root.cv-v2[data-template="resume_09"] .cv-page:first-of-type::before {
  height: 2px;
  background: var(--cv-text-1);
}

#resume-print-root.cv-v2[data-template="resume_17"] .cv-page:first-of-type::before {
  height: 6px;
  background: var(--cv-a800);
}

#resume-print-root.cv-v2 .cv-sec-title {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

#resume-print-root.cv-v2 .cv-sec-ruled .cv-sec-rule {
  flex: 1;
  height: 1px;
  background: var(--cv-bdr-m);
  margin-left: 0.25rem;
}

#resume-print-root.cv-v2 .cv-sec-minimal {
  gap: 0;
}
#resume-print-root.cv-v2 .cv-sec-minimal span {
  font-weight: 600;
  letter-spacing: 0.2em;
}

#resume-print-root.cv-v2 .cv-sec-boxed span {
  border-left: 3px solid var(--cv-a500);
  padding-left: 0.75rem;
  font-weight: 700;
  width: 100%;
}

#resume-print-root.cv-v2 .cv-sec-band {
  background: var(--cv-a100);
  padding: 0.4rem 0.65rem;
  width: 100%;
  margin-left: 0;
  border-radius: 2px;
}
#resume-print-root.cv-v2 .cv-sec-band span {
  font-weight: 700;
}

#resume-print-root.cv-v2 .cv-sec-double {
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}
#resume-print-root.cv-v2 .cv-sec-double span {
  display: block;
  border-top: 1px solid var(--cv-bdr-s);
  border-bottom: 1px solid var(--cv-bdr-s);
  padding: 0.45rem 0;
  font-weight: 600;
  width: 100%;
}

#resume-print-root.cv-v2 .cv-skills-pills,
#resume-print-root.cv-v2 .cv-skills-chips,
#resume-print-root.cv-v2 .cv-skills-outline,
#resume-print-root.cv-v2 .cv-skills-cards,
#resume-print-root.cv-v2 .cv-skills-rose-tiles,
#resume-print-root.cv-v2 .cv-skills-compact-dark,
#resume-print-root.cv-v2 .cv-skills-swiss-dense {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

#resume-print-root.cv-v2 .cv-skill-pill,
#resume-print-root.cv-v2 .cv-skills-on-dark span,
#resume-print-root.cv-v2 .cv-skills-chips span {
  background: var(--cv-a100);
  color: var(--cv-a800);
  padding: 0.2rem 0.55rem;
  border-radius: 4px;
  font-size: 12px;
}

#resume-print-root.cv-v2 .cv-skills-on-dark span {
  background: var(--cv-a700);
  color: #fff;
}

#resume-print-root.cv-v2 .cv-skills-chips span {
  background: #fff;
  border: 1px solid var(--cv-a200);
}

#resume-print-root.cv-v2 .cv-skill-outline {
  border: 1px solid var(--cv-a400);
  padding: 0.15rem 0.45rem;
  font-size: 12px;
  border-radius: 2px;
}

#resume-print-root.cv-v2 .cv-skills-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem;
}
#resume-print-root.cv-v2 .cv-skill-cell {
  background: var(--cv-a50);
  padding: 0.35rem 0.5rem;
  font-size: 12px;
  border-radius: 2px;
}

#resume-print-root.cv-v2 .cv-skill-card {
  border: 1px solid var(--cv-bdr-m);
  padding: 0.4rem 0.55rem;
  font-size: 12px;
  flex: 1 1 30%;
  min-width: 5rem;
}

#resume-print-root.cv-v2 .cv-skill-bar-row {
  margin-bottom: 0.35rem;
}
#resume-print-root.cv-v2 .cv-skill-bar-label {
  display: block;
  font-size: 12px;
  margin-bottom: 0.15rem;
}
#resume-print-root.cv-v2 .cv-skill-bar-track {
  display: block;
  height: 4px;
  background: var(--cv-bdr-m);
  border-radius: 2px;
}
#resume-print-root.cv-v2 .cv-skill-bar-fill {
  display: block;
  height: 100%;
  background: var(--cv-a500);
  border-radius: 2px;
}

#resume-print-root.cv-v2 .cv-skills-tags-band {
  background: var(--cv-a100);
  padding: 0.45rem 0.6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 12px;
}

#resume-print-root.cv-v2 .cv-skills-dots {
  list-style: none;
  margin: 0;
  padding: 0;
}
#resume-print-root.cv-v2 .cv-skills-dots li {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.25rem;
  font-size: 12px;
}
#resume-print-root.cv-v2 .cv-dot-scale span {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cv-bdr-m);
  margin-left: 3px;
}
#resume-print-root.cv-v2 .cv-dot-scale span.on {
  background: var(--cv-a600);
}

#resume-print-root.cv-v2 .cv-skills-academic {
  margin: 0;
  padding-left: 1.25rem;
  font-size: var(--cv-sz-body);
}

#resume-print-root.cv-v2 .cv-skills-serif-blocks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem;
  font-family: Georgia, serif;
  font-variant: small-caps;
  font-size: 13px;
}

#resume-print-root.cv-v2 .cv-skills-rose-tiles span {
  background: var(--cv-a100);
  padding: 0.35rem;
  flex: 1 1 30%;
  font-size: 12px;
}

#resume-print-root.cv-v2 .cv-skills-compact-dark {
  background: #27272a;
  padding: 0.5rem;
  gap: 0.25rem;
}
#resume-print-root.cv-v2 .cv-skills-compact-dark span {
  background: #3f3f46;
  color: #fafafa;
  font-size: 10px;
  padding: 0.15rem 0.35rem;
  border-radius: 2px;
}

#resume-print-root.cv-v2 .cv-skills-cyan-stack .cv-cyan-row {
  border-left: 3px solid var(--cv-a500);
  padding-left: 0.5rem;
  margin-bottom: 0.35rem;
  font-size: 12px;
}

#resume-print-root.cv-v2 .cv-skills-swiss-dense {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.25rem 0.5rem;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

#resume-print-root.cv-v2 .cv-skills-slate-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
#resume-print-root.cv-v2 .cv-skills-slate-list li {
  margin-bottom: 0.25rem;
  font-size: 12px;
}

#resume-print-root.cv-v2 .cv-skills-mag-cols {
  column-count: 2;
  column-gap: 1rem;
  font-size: 12px;
}
#resume-print-root.cv-v2 .cv-mag-lead {
  font-weight: 600;
  display: block;
  margin-bottom: 0.25rem;
}

#resume-print-root.cv-v2 .cv-skills-underline span {
  margin-right: 0.75rem;
  text-decoration: underline;
  text-decoration-color: var(--cv-a400);
  text-underline-offset: 3px;
}

#resume-print-root.cv-v2 .cv-skills-plain-row {
  font-size: var(--cv-sz-body);
  color: var(--cv-text-2);
}

#resume-print-root.cv-v2 .cv-hairline {
  border-bottom: 1px solid var(--cv-text-1);
  margin-bottom: var(--cv-gap-blk);
}
#resume-print-root.cv-v2 .cv-timeline {
  border-left: 4px solid var(--cv-a500);
  padding-left: 0.75rem;
}
#resume-print-root.cv-v2 .cv-mag-hero {
  display: grid;
  grid-template-columns: 58% 42%;
  gap: var(--cv-gap-blk);
  margin-bottom: var(--cv-gap-sec);
}
#resume-print-root.cv-v2 .cv-banded {
  background: var(--cv-a50);
  padding: 0.75rem;
  margin-bottom: var(--cv-gap-sec);
}
#resume-print-root.cv-v2 .cv-band {
  background: var(--cv-a100);
  padding: 0.75rem 1rem;
  margin-bottom: var(--cv-gap-sec);
}
#resume-print-root.cv-v2 .cv-exec-banner {
  background: var(--cv-a800);
  color: #fff;
  padding: 1.1rem 1.25rem;
  margin: 0 0 var(--cv-gap-sec);
  border-radius: 4px;
  box-sizing: border-box;
}
#resume-print-root.cv-v2 .cv-exec-banner .cv-meta-row,
#resume-print-root.cv-v2 .cv-exec-banner .cv-doc-label,
#resume-print-root.cv-v2 .cv-exec-banner .cv-name {
  color: #fff;
}
#resume-print-root.cv-v2 .cv-box {
  border: 1px solid var(--cv-bdr-m);
  padding: 1rem;
  margin-bottom: var(--cv-gap-sec);
}
#resume-print-root.cv-v2 .cv-asym-summary {
  border-left: 6px solid var(--cv-a500);
  padding-left: 0.75rem;
  margin-bottom: var(--cv-gap-sec);
}
#resume-print-root.cv-v2 .cv-asym-role {
  margin: 0.25rem 0 var(--cv-gap-blk) 12%;
  font-size: var(--cv-sz-role);
  letter-spacing: var(--cv-tr-role);
  color: var(--cv-a600);
  font-weight: 500;
}
#resume-print-root.cv-v2 .cv-proj-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--cv-gap-blk);
}
#resume-print-root.cv-v2 .cv-card-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--cv-gap-blk);
  margin-bottom: var(--cv-gap-sec);
}
#resume-print-root.cv-v2 .cv-card {
  border: 1px solid var(--cv-bdr-m);
  padding: 0.75rem;
  break-inside: avoid;
}
#resume-print-root.cv-v2 .cv-card-dark {
  background: #27272a;
  color: #fafafa;
}
#resume-print-root.cv-v2 .cv-card-dark .cv-sec-title {
  color: #fafafa;
}
#resume-print-root.cv-v2 .cv-grid12 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0.5rem 0.65rem;
}
#resume-print-root.cv-v2 .cv-g12-name {
  grid-column: span 8;
}
#resume-print-root.cv-v2 .cv-g12-meta {
  grid-column: span 4;
}
#resume-print-root.cv-v2 .cv-g12-sum {
  grid-column: span 8;
}
#resume-print-root.cv-v2 .cv-g12-skills {
  grid-column: span 4;
}
#resume-print-root.cv-v2 .cv-g12-exp {
  grid-column: span 12;
}
#resume-print-root.cv-v2 .cv-news-rule {
  border-top: 2px solid var(--cv-text-1);
  margin-bottom: var(--cv-gap-blk);
}
#resume-print-root.cv-v2 .cv-news-cols {
  column-count: 2;
  column-gap: 1.25rem;
  column-rule: 1px solid var(--cv-bdr-m);
  margin-bottom: var(--cv-gap-sec);
}
#resume-print-root.cv-v2 .cv-news-cols-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--cv-gap-blk);
}
#resume-print-root.cv-v2 .cv-brutal-top {
  border-top: 6px solid var(--cv-a800);
  margin-bottom: var(--cv-gap-sec);
}
#resume-print-root.cv-v2 .cv-prism-hero {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: end;
  background: var(--cv-a50);
  padding: 1rem;
  margin-bottom: var(--cv-gap-sec);
}
#resume-print-root.cv-v2 .cv-prism-mast {
  padding-bottom: 0.25rem;
}
#resume-print-root.cv-v2 .cv-rail-tint {
  background: var(--cv-a50);
  padding: 0.5rem;
}
#resume-print-root.cv-v2 .cv-dense .cv-sec {
  margin-bottom: 1.25rem;
}

/* Canva / PDF reference designs — per-template visual identity */

#resume-print-root.cv-v2 .cv-canva-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--cv-text-2);
  margin: 0 0 0.5rem;
}

#resume-print-root.cv-v2 .cv-canva-title-role {
  font-size: var(--cv-sz-role);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--cv-a600);
  margin: 0.25rem 0 0.75rem;
}

#resume-print-root.cv-v2 .cv-canva-header-classic .cv-name {
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

#resume-print-root.cv-v2 .cv-canva-contact-stack p {
  margin: 0 0 0.65rem;
  font-size: 12px;
  line-height: 1.4;
}

#resume-print-root.cv-v2 .cv-canva-contact-stack strong {
  display: block;
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--cv-text-3);
  font-weight: 600;
  margin-bottom: 0.15rem;
}

#resume-print-root.cv-v2 .cv-canva-sidebar-panel {
  background: var(--cv-a50);
  border-right: 3px solid var(--cv-a600);
  padding: 1rem 1.1rem;
  height: 100%;
  min-height: 100%;
}

#resume-print-root.cv-v2 .cv-canva-sidebar-dark-panel {
  background: var(--cv-a800);
  color: #f8fafc;
  padding: 1.25rem 1rem;
  border-radius: 0;
}

#resume-print-root.cv-v2 .cv-canva-sidebar-dark-panel .cv-canva-label,
#resume-print-root.cv-v2 .cv-canva-sidebar-dark-panel .cv-sec-title,
#resume-print-root.cv-v2 .cv-canva-sidebar-dark-panel .cv-body {
  color: #f1f5f9;
}

#resume-print-root.cv-v2 .cv-canva-split-28-72 {
  display: grid;
  grid-template-columns: 28% 1fr;
  gap: 1.5rem;
  align-items: start;
}

#resume-print-root.cv-v2 .cv-canva-split-32-68 {
  display: grid;
  grid-template-columns: 32% 1fr;
  gap: 1.35rem;
  align-items: start;
}

#resume-print-root.cv-v2 .cv-canva-split-35-65 {
  display: grid;
  grid-template-columns: 35% 1fr;
  gap: 1.25rem;
}

#resume-print-root.cv-v2 .cv-canva-web-split {
  display: grid;
  grid-template-columns: 1fr 38%;
  gap: 1.5rem;
}

#resume-print-root.cv-v2 .cv-canva-web-split .cv-canva-rail {
  border-left: 2px solid var(--cv-a200);
  padding-left: 1rem;
}

#resume-print-root.cv-v2 .cv-canva-hero-name {
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--cv-text-1);
  margin: 0;
}

#resume-print-root.cv-v2 .cv-canva-hero-sub {
  font-size: 1.1rem;
  font-weight: 500;
  color: var(--cv-a600);
  margin: 0.35rem 0 1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

#resume-print-root.cv-v2 .cv-canva-vertical-name {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.25rem;
  align-items: start;
}

#resume-print-root.cv-v2 .cv-canva-vertical-name .cv-vname-stack {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: 2.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  color: var(--cv-a800);
  text-transform: uppercase;
  max-height: 220mm;
}

#resume-print-root.cv-v2 .cv-canva-centered-head {
  text-align: center;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 2px solid var(--cv-a600);
}

#resume-print-root.cv-v2 .cv-canva-centered-head .cv-name {
  text-transform: uppercase;
}

#resume-print-root.cv-v2 .cv-canva-contact-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem 1rem;
  font-size: 11px;
  color: var(--cv-text-2);
  margin-top: 0.5rem;
}

#resume-print-root.cv-v2 .cv-canva-creative-banner {
  background: var(--cv-a800);
  color: #fff;
  padding: 1.5rem 1.25rem 1rem;
  margin: 0 0 1.25rem;
  border-radius: 2px;
}

#resume-print-root.cv-v2 .cv-canva-creative-banner .cv-name,
#resume-print-root.cv-v2 .cv-canva-creative-banner .cv-canva-title-role {
  color: #fff;
}

#resume-print-root.cv-v2 .cv-canva-achievement-item {
  margin-bottom: 0.75rem;
}

#resume-print-root.cv-v2 .cv-canva-achievement-item strong {
  display: block;
  font-size: 13px;
  color: var(--cv-text-1);
  margin-bottom: 0.15rem;
}

#resume-print-root.cv-v2 .cv-canva-edu-row {
  margin-bottom: 0.85rem;
}

#resume-print-root.cv-v2 .cv-canva-edu-row .cv-date-col {
  font-weight: 600;
}

#resume-print-root.cv-v2 .cv-canva-ref-block {
  font-size: 12px;
  margin-bottom: 0.75rem;
}

#resume-print-root.cv-v2 .cv-canva-ref-block strong {
  display: block;
  font-size: 13px;
}

/* Per-template accent bars */
[data-template="resume_01"] .cv-page:first-of-type::before,
[data-template="resume_07"] .cv-page:first-of-type::before,
[data-template="resume_13"] .cv-page:first-of-type::before {
  background: #1e3a5f;
}
[data-template="resume_02"] .cv-page:first-of-type::before {
  background: #0d9488;
}
[data-template="resume_03"] .cv-page:first-of-type::before {
  background: #be123c;
}
[data-template="resume_04"] .cv-page:first-of-type::before {
  background: #7c3aed;
}
[data-template="resume_05"] .cv-page:first-of-type::before,
[data-template="resume_12"] .cv-page:first-of-type::before {
  background: #ea580c;
}
[data-template="resume_06"] .cv-page:first-of-type::before {
  background: #334155;
}
[data-template="resume_08"] .cv-page:first-of-type::before,
[data-template="resume_16"] .cv-page:first-of-type::before {
  background: #0369a1;
}
[data-template="resume_09"] .cv-page:first-of-type::before {
  background: #4f46e5;
}
[data-template="resume_10"] .cv-page:first-of-type::before,
[data-template="resume_11"] .cv-page:first-of-type::before {
  background: #0f766e;
}
[data-template="resume_14"] .cv-page:first-of-type::before {
  background: #1d4ed8;
}
[data-template="resume_15"] .cv-page:first-of-type::before {
  background: #db2777;
}
[data-template="resume_17"] .cv-page:first-of-type::before {
  background: #9333ea;
}
[data-template="resume_18"] .cv-page:first-of-type::before {
  background: #b45309;
}
[data-template="resume_19"] .cv-page:first-of-type::before,
[data-template="resume_20"] .cv-page:first-of-type::before {
  background: #0e7490;
}

[data-template="resume_10"] .cv-canva-label,
[data-template="resume_11"] .cv-canva-label {
  color: var(--cv-a700);
}

/* Builder screen preview — A4 pages as cards (print uses full bleed) */
#rf-preview-shell {
  background: #e4e4e7;
}

#rf-preview,
.cv-preview-scale {
  margin: 0 auto;
  max-width: 210mm;
}

@media screen {
  .cv-preview-scale {
    transform: scale(0.72);
    transform-origin: top center;
    width: 210mm;
    margin-bottom: -8rem;
  }

  .cv-preview-scale #resume-print-root.cv-v2 .cv-page {
    min-height: auto;
  }
}

@media screen {
  #resume-print-root.cv-v2 .cv-page {
    min-height: auto;
    height: auto;
    margin: 0 auto 1.25rem;
    box-shadow:
      0 1px 2px rgba(0, 0, 0, 0.06),
      0 8px 24px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--cv-bdr-m);
    border-radius: 2px;
    overflow: hidden;
  }

  #resume-print-root.cv-v2 .cv-page:last-child {
    margin-bottom: 0;
  }

  #resume-print-root.cv-v2 .cv-page + .cv-page {
    break-before: auto;
    page-break-before: auto;
  }

  #resume-print-root.cv-v2 input:focus,
  #resume-print-root.cv-v2 textarea:focus {
    outline: 2px solid var(--cv-a400);
    outline-offset: 2px;
    border-bottom-color: transparent;
  }

  #resume-print-root.cv-v2 input:hover,
  #resume-print-root.cv-v2 textarea:hover {
    background: var(--cv-a50);
  }
}

@media print {
  #rf-preview {
    background: transparent;
    padding: 0;
  }

  #resume-print-root.cv-v2 .cv-page {
    min-height: 297mm;
    margin: 0;
    box-shadow: none;
    border: 0;
    border-radius: 0;
  }

  #resume-print-root.cv-v2 .cv-page + .cv-page {
    break-before: page;
    page-break-before: always;
  }

  #resume-print-root.cv-v2 input,
  #resume-print-root.cv-v2 textarea {
    border: 0 !important;
  }
}

