
      .CvPage {
        --bg: #eef1f4;
        --paper: #ffffff;
        --ink: #1f2933;
        --muted: #5b6673;
        --line: #d8dee6;
        --accent: #b4232b;
        --accent-ink: #ffffff;
        --soft: #f4f6f8;
        --chip: #e9eef3;
      }

      .CvPage * {
        box-sizing: border-box;
      }

      .CvPage {
        margin: 0;
        color: var(--ink);
        background: var(--bg);
        font-family:
          Arial,
          "Helvetica Neue",
          Helvetica,
          sans-serif;
        font-size: 14px;
        line-height: 1.48;
      }

      .CvPage a {
        color: inherit;
        text-decoration-color: rgba(180, 35, 43, 0.45);
        text-underline-offset: 3px;
      }

      .CvPage .toolbar {
        position: sticky;
        top: 0;
        z-index: 10;
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 14px;
        padding: 14px;
        background: rgba(238, 241, 244, 0.9);
        backdrop-filter: blur(10px);
        border-bottom: 1px solid var(--line);
      }

      .CvPage .export-button {
        grid-column: 2;
        justify-self: center;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        min-height: 42px;
        padding: 0 18px;
        border: 0;
        border-radius: 6px;
        color: var(--accent-ink);
        background: var(--accent);
        font: inherit;
        font-weight: 700;
        cursor: pointer;
        box-shadow: 0 8px 18px rgba(31, 41, 51, 0.16);
      }

      .CvPage .export-button:hover {
        background: #941b22;
      }

      .CvPage .language-switcher {
        grid-column: 3;
        justify-self: end;
        display: inline-flex;
        overflow: hidden;
        border: 1px solid var(--line);
        border-radius: 6px;
        background: var(--paper);
        box-shadow: 0 8px 18px rgba(31, 41, 51, 0.1);
      }

      .CvPage .language-switcher-pending {
        visibility: hidden;
        pointer-events: none;
      }

      .CvPage .language-button {
        min-width: 44px;
        min-height: 40px;
        padding: 0 12px;
        border: 0;
        border-left: 1px solid var(--line);
        color: var(--muted);
        background: transparent;
        font: inherit;
        font-weight: 700;
        cursor: pointer;
      }

      .CvPage .language-button:first-child {
        border-left: 0;
      }

      .CvPage .language-button-active {
        color: var(--accent-ink);
        background: var(--accent);
      }

      .CvPage .page {
        width: min(100%, 960px);
        margin: 28px auto 52px;
        padding: 44px 52px;
        background: var(--paper);
        box-shadow: 0 18px 60px rgba(31, 41, 51, 0.14);
      }

      .CvPage .hero {
        display: grid;
        grid-template-columns: 138px minmax(0, 1fr);
        gap: 24px;
        align-items: start;
        padding-bottom: 28px;
        border-bottom: 2px solid var(--line);
      }

      .CvPage .photo {
        width: 138px;
        aspect-ratio: 459 / 500;
        object-fit: cover;
        border-radius: 6px;
        border: 1px solid var(--line);
      }

      .CvPage h1,
      .CvPage h2,
      .CvPage h3,
      .CvPage p {
        margin: 0;
      }

      .CvPage h1 {
        font-size: 40px;
        line-height: 1.04;
        letter-spacing: 0;
        white-space: nowrap;
      }

      .CvPage .role {
        margin: 0;
        color: var(--accent);
        font-size: 22px;
        font-weight: 700;
        overflow-wrap: anywhere;
      }

      .CvPage .headline {
        display: grid;
        justify-items: end;
        gap: 8px;
        width: auto;
        max-width: 100%;
        padding: 10px 12px;
        border: 1px solid var(--line);
        border-left: 4px solid var(--accent);
        border-radius: 6px;
        background: var(--soft);
      }

      .CvPage .compensation {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }

      .CvPage .summary {
        display: grid;
        gap: 6px;
        margin-top: 16px;
        color: var(--muted);
        font-size: 15px;
      }

      .CvPage .contact-list {
        display: grid;
        gap: 8px;
        color: var(--muted);
        font-size: 13px;
        white-space: nowrap;
      }

      .CvPage .contact-list strong {
        display: block;
        color: var(--ink);
        font-size: 12px;
        text-transform: uppercase;
      }

      .CvPage .contact-list a,
      .CvPage .contact-list span {
        overflow-wrap: normal;
        word-break: normal;
      }

      .CvPage .meta {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px 26px;
        margin-top: 24px;
        padding: 18px 0 4px;
      }

      .CvPage .meta-item {
        color: var(--muted);
      }

      .CvPage .meta-item strong {
        display: block;
        margin-bottom: 3px;
        color: var(--ink);
      }

      .CvPage .section {
        margin-top: 34px;
      }

      .CvPage .contacts {
        margin-top: 24px;
      }

      .CvPage .contacts .section-title {
        margin-bottom: 12px;
      }

      .CvPage .section-title {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 18px;
        color: var(--accent);
        font-size: 18px;
        font-weight: 800;
        text-shadow: none;
        text-transform: uppercase;
      }

      .CvPage .section-title::after {
        content: "";
        flex: 1;
        height: 1px;
        background: var(--line);
      }

      .CvPage .target {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
        padding: 18px;
        background: var(--soft);
        border: 1px solid var(--line);
        border-radius: 6px;
      }

      .CvPage .target h3 {
        font-size: 22px;
      }

      .CvPage .target-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px 18px;
        margin-top: 14px;
      }

      .CvPage .target-item {
        margin: 0;
      }

      .CvPage .target-item strong {
        display: block;
        margin-bottom: 3px;
        color: var(--muted);
        font-size: 12px;
        text-transform: uppercase;
      }

      .CvPage .target-item a {
        overflow-wrap: anywhere;
      }

      .CvPage .salary {
        align-self: start;
        padding: 4px 8px;
        border-radius: 4px;
        background: var(--paper);
        font-size: 18px;
        font-weight: 800;
        line-height: 1.2;
        white-space: nowrap;
      }

      .CvPage .entry {
        display: grid;
        grid-template-columns: 190px minmax(0, 1fr);
        gap: 24px;
        margin: 0;
        padding: 20px 0;
        border-top: 1px solid var(--line);
      }

      .CvPage .entry:first-of-type {
        border-top: 0;
        padding-top: 0;
      }

      .CvPage .compact-history {
        display: block;
      }

      .CvPage .compact-history .entry:first-of-type {
        border-top: 1px solid var(--line);
        padding-top: 20px;
      }

      .CvPage .old-experience-summary {
        display: none;
      }

      .CvPage .skills-extra {
        display: contents;
      }

      .CvPage .period {
        color: var(--muted);
        font-size: 13px;
      }

      .CvPage .period strong {
        display: block;
        margin-bottom: 5px;
        color: var(--ink);
        font-size: 14px;
      }

      .CvPage .entry h3 {
        font-size: 18px;
        line-height: 1.25;
      }

      .CvPage .company {
        margin-top: 4px;
        color: var(--muted);
      }

      .CvPage .entry p {
        margin-top: 10px;
      }

      .CvPage .stack {
        margin-top: 10px;
        color: var(--muted);
        font-size: 13px;
      }

      .CvPage .grid-two {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px 34px;
      }

      .CvPage .fact {
        padding-top: 14px;
        border-top: 1px solid var(--line);
      }

      .CvPage .fact strong {
        display: block;
        margin-bottom: 4px;
      }

      .CvPage .chips {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }

      .CvPage .chip {
        padding: 6px 9px;
        border-radius: 5px;
        background: var(--chip);
        color: #33414f;
        font-size: 13px;
      }

      .CvPage .project-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
      }

      .CvPage .project-card {
        padding: 10px 12px;
        border: 1px solid var(--line);
        border-radius: 6px;
        background: var(--soft);
        font-weight: 700;
      }

      .CvPage .role-list {
        display: grid;
        gap: 10px;
        margin-top: 10px;
      }

      .CvPage .role-item {
        padding-left: 12px;
        border-left: 2px solid var(--line);
      }

      .CvPage .role-item h4 {
        margin: 0;
        font-size: 15px;
        line-height: 1.3;
      }

      .CvPage .role-period {
        margin-top: 2px;
        color: var(--muted);
        font-size: 12px;
      }

      .CvPage .date-print {
        display: none;
      }

      @page {
        size: A4;
        margin: 7mm 8mm;
      }

      @media (max-width: 760px) {
        .CvPage .toolbar {
          grid-template-columns: 1fr auto;
        }

        .CvPage .export-button {
          grid-column: 1;
          justify-self: start;
        }

        .CvPage .language-switcher {
          grid-column: 2;
        }

        .CvPage .page {
          margin: 0;
          padding: 28px 20px;
          box-shadow: none;
        }

        .CvPage .hero,
        .CvPage .entry,
        .CvPage .target,
        .CvPage .meta,
        .CvPage .grid-two {
          grid-template-columns: 1fr;
        }

        .CvPage .hero {
          gap: 18px;
        }

        .CvPage .contact-list {
          grid-template-columns: 1fr 1fr;
        }

        .CvPage .target-list,
        .CvPage .project-grid {
          grid-template-columns: 1fr;
        }

        .CvPage h1 {
          font-size: 34px;
          white-space: normal;
        }

        .CvPage .head-info {
          grid-template-columns: 1fr;
        }

        .CvPage .salary {
          text-align: left;
        }

        .CvPage .headline {
          width: 100%;
        }

        .CvPage .compensation {
          width: 100%;
          padding-left: 0;
          border-left: 0;
        }
      }

      .CvPage .head-info {
        display: grid;
        grid-template-columns: max-content minmax(0, 1fr);
        justify-content: space-between;
        align-items: start;
        gap: 18px;
      }

      .CvPage .head-info > * {
        min-width: 0;
      }

      @media (max-width: 760px) {
        .CvPage .head-info {
          grid-template-columns: 1fr;
        }
      }

      @media print {
        html,
        body {
          background: #ffffff !important;
        }

        .CvPage {
          --bg: #ffffff;
        }

        .CvPage {
          background: #ffffff;
          font-size: 9.5px;
          line-height: 1.2;
        }

        .CvPage .toolbar {
          display: none;
        }

        .CvPage .page {
          width: auto;
          margin: 0;
          padding: 0;
          box-shadow: none;
        }

        .CvPage .hero {
          grid-template-columns: 82px minmax(0, 1fr);
          gap: 12px;
          padding-bottom: 6px;
          border-bottom-width: 1px;
        }

        .CvPage .photo {
          width: 82px;
          border-radius: 3px;
        }

        .CvPage h1 {
          font-size: 24px;
          line-height: 1;
          white-space: nowrap;
        }

        .CvPage .head-info {
          display: grid;
          grid-template-columns: max-content max-content;
          justify-content: space-between;
          align-items: start;
          gap: 10px;
        }

        .CvPage .headline {
          display: grid;
          grid-template-columns: 1fr;
          justify-items: end;
          gap: 3px;
          width: max-content;
          margin: 0;
          padding: 4px 7px;
          border-left-width: 2px;
          border-radius: 3px;
        }

        .CvPage .role {
          font-size: 14px;
          white-space: nowrap;
        }

        .CvPage .compensation {
          gap: 3px;
          padding-left: 0;
          border-left: 0;
        }

        .CvPage .summary {
          max-width: none;
          margin-top: 5px;
          gap: 2px;
          font-size: 9px;
          line-height: 1.16;
        }

        .CvPage .salary {
          padding: 2px 5px;
          font-size: 10px;
          line-height: 1.1;
        }

        .CvPage .contact-list {
          gap: 3px;
          font-size: 9px;
        }

        .CvPage .contact-list strong {
          display: inline;
          margin-right: 4px;
          font-size: 8px;
        }

        .CvPage .meta {
          grid-template-columns: repeat(3, max-content);
          gap: 6px 12px;
          margin-top: 8px;
          padding: 0;
          font-size: 9px;
        }

        .CvPage .meta-item strong {
          margin-bottom: 1px;
        }

        .CvPage .section {
          margin-top: 7px;
        }

        .CvPage main > .section:first-of-type {
          display: none;
        }

        .CvPage .section-title {
          gap: 8px;
          margin-bottom: 5px;
          font-size: 10.5px;
          break-after: avoid;
        }

        .CvPage .target {
          padding: 7px 9px;
          gap: 3px;
          border-radius: 3px;
        }

        .CvPage .target h3 {
          font-size: 13px;
        }

        .CvPage .target p {
          display: inline;
          margin-right: 8px;
        }

        .CvPage .target-list {
          display: block;
          margin-top: 2px;
        }

        .CvPage .contacts {
          display: grid;
          grid-template-columns: max-content 1fr;
          gap: 8px;
          align-items: baseline;
          margin-top: 4px;
          padding-bottom: 4px;
          border-bottom: 1px solid #e5e8ec;
        }

        .CvPage .contacts .section-title {
          margin: 0;
          font-size: 9px;
          white-space: nowrap;
        }

        .CvPage .contacts .section-title::after {
          display: none;
        }

        .CvPage .contacts .target-list {
          display: grid;
          grid-template-columns: repeat(3, max-content);
          gap: 8px;
          margin-top: 0;
        }

        .CvPage .contacts .target-item {
          white-space: nowrap;
        }

        .CvPage .target-item strong {
          display: inline;
          margin-right: 3px;
          font-size: 8px;
        }

        .CvPage .entry {
          grid-template-columns: 116px minmax(0, 1fr);
          gap: 10px;
          padding: 3px 0;
          break-inside: auto;
          border-top-color: #e5e8ec;
        }

        .CvPage .period {
          font-size: 9px;
        }

        .CvPage .period strong {
          margin-bottom: 1px;
          font-size: 9px;
        }

        .CvPage .entry h3 {
          font-size: 11px;
          line-height: 1.15;
          break-after: avoid;
        }

        .CvPage .company {
          margin-top: 1px;
          font-size: 9px;
        }

        .CvPage .entry p {
          margin-top: 2px;
        }

        .CvPage .stack {
          margin-top: 2px;
          font-size: 9px;
        }

        .CvPage .compact-history {
          display: grid;
          grid-template-columns: repeat(4, minmax(0, 1fr));
          gap: 4px;
          margin-top: 3px;
          padding-top: 4px;
          border-top: 1px solid #e5e8ec;
        }

        .CvPage .compact-history .entry {
          display: block;
          padding: 4px 5px;
          border: 1px solid #e5e8ec;
          border-radius: 3px;
          background: #fafbfc;
          break-inside: avoid;
        }

        .CvPage .compact-history .print-legacy {
          display: none;
        }

        .CvPage .old-experience-summary {
          display: block;
          padding: 4px 5px;
          border: 1px solid #e5e8ec;
          border-radius: 3px;
          background: #fafbfc;
          font-size: 8.5px;
          line-height: 1.15;
          break-inside: avoid;
        }

        .CvPage .old-experience-summary strong {
          display: block;
          margin-bottom: 1px;
          font-size: 8.5px;
        }

        .CvPage .compact-history .entry:first-of-type {
          border-top: 1px solid #e5e8ec;
          padding-top: 5px;
        }

        .CvPage .compact-history .period {
          margin-bottom: 2px;
          font-size: 8px;
        }

        .CvPage .compact-history .period strong {
          display: inline;
          margin: 0;
          font-size: 8.5px;
        }

        .CvPage .compact-history .entry h3 {
          font-size: 10px;
          line-height: 1.12;
        }

        .CvPage .compact-history .company {
          font-size: 8.5px;
        }

        .CvPage .compact-history .entry p:not(.company):not(.stack):not(.role-period) {
          display: none;
        }

        .CvPage .compact-history .stack {
          margin-top: 2px;
          font-size: 8px;
        }

        .CvPage .compact-history .role-list {
          gap: 3px;
          margin-top: 3px;
        }

        .CvPage .compact-history .role-item {
          padding-left: 5px;
          border-left-width: 1px;
        }

        .CvPage .compact-history .role-item h4 {
          font-size: 8.5px;
          line-height: 1.1;
        }

        .CvPage .grid-two {
          gap: 8px 14px;
        }

        .CvPage .education-section .grid-two {
          grid-template-columns: repeat(4, minmax(0, 1fr));
          gap: 3px;
        }

        .CvPage .fact {
          padding-top: 6px;
        }

        .CvPage .education-section .section-title {
          margin-bottom: 3px;
        }

        .CvPage .education-section .fact {
          padding: 3px 4px 0;
          border-top: 1px solid #e5e8ec;
          font-size: 8.5px;
          line-height: 1.12;
        }

        .CvPage .education-section .fact strong {
          margin-bottom: 1px;
        }

        .CvPage .skills-extra {
          display: grid;
          grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
          gap: 10px;
          align-items: start;
          margin-top: 7px;
        }

        .CvPage .skills-extra .section {
          margin-top: 0;
        }

        .CvPage .skills-extra .section-title {
          margin-bottom: 5px;
        }

        .CvPage .fact strong {
          margin-bottom: 2px;
        }

        .CvPage .chips {
          gap: 4px;
        }

        .CvPage .chip {
          padding: 2px 5px;
          border-radius: 3px;
          font-size: 9px;
        }

        .CvPage .project-grid {
          grid-template-columns: repeat(4, minmax(0, 1fr));
          gap: 5px;
        }

        .CvPage .project-card {
          padding: 5px 6px;
          border-radius: 3px;
          font-size: 8.5px;
        }

        .CvPage .role-list {
          gap: 3px;
          margin-top: 3px;
        }

        .CvPage .role-item {
          padding-left: 7px;
          border-left-width: 1px;
        }

        .CvPage .role-item h4 {
          font-size: 10px;
          line-height: 1.15;
        }

        .CvPage .role-period {
          margin-top: 0;
          font-size: 8px;
        }

        .CvPage .date-screen {
          display: none;
        }

        .CvPage .date-print {
          display: inline;
        }

        .CvPage .period .date-print::after,
        .CvPage .role-period .date-print::after {
          content: " — ";
        }

        .CvPage .target,
        .CvPage .fact {
          break-inside: avoid;
        }

        .CvPage a {
          text-decoration: none;
        }

        .CvPage a::before {
          content: none !important;
          display: none !important;
        }
      }

      .CvPageLayout > main {
  background: #eef1f4;
}

      @media print {
  .CvPageLayout > .header,
  .CvPageLayout > footer {
    display: none;
  }

  .CvPageLayout > main {
    background: #fff;
  }

  .Layout.CvPageLayout {
    background: #fff;
  }
}
    
