/* ============================================================================
 *  cv-personalization-user-v2 — extraido do index.html em 14/08/2026.
 *
 *  Nao e estilo novo: e o bloco <style id="cv-personalization-user-v2"> que morava dentro do index.html,
 *  movido para fora SEM UMA LINHA ALTERADA (31,138 bytes). 
 *
 *  ⚠️ A TAG <link> FICOU NA MESMA POSICAO do <style> original. A cascata do CSS
 *  depende da ORDEM no documento: mover a tag muda qual regra vence, mesmo com
 *  o conteudo identico.
 *
 *  ⚠️ Se um dia entrar url(...) com caminho RELATIVO aqui, ele passa a resolver
 *  contra ESTE arquivo (assets/), e nao contra o documento — a mesma armadilha
 *  que o import() causou na primeira extracao de script. Medido em 14/08: os 13
 *  blocos <style> tinham ZERO url() relativo e ZERO @import.
 * ============================================================================ */

  #personalizationPanel {
    --cv-perso-border: #d7e0f0;
    --cv-perso-ink: #10264e;
    --cv-perso-muted: #5d6d89;
    scrollbar-gutter: stable both-edges !important;
  }

  #personalizationPanel .settings-panel-header,
  #personalizationPanel .settings-group,
  #personalizationPanel .cv-perso-intro {
    width: 100%;
    max-width: 390px;
    margin-left: auto;
    margin-right: auto;
  }

  #personalizationPanel .settings-group {
    display: grid;
    gap: 10px;
  }

  #personalizationPanel .settings-group-title {
    text-align: center;
  }

  [data-cv-accordion] .settings-group.cv-settings-accordion {
    display: grid;
    gap: 6px;
    padding: 0;
    border: 0;
    background: transparent;
    overflow: visible;
  }

  .cv-settings-accordion-trigger,
  .cv-settings-accordion-trigger:hover,
  .cv-settings-accordion-trigger:focus,
  .cv-settings-accordion-trigger:active {
    width: 100% !important;
    min-height: 42px !important;
    display: grid !important;
    grid-template-columns: 26px minmax(0, 1fr) 26px !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 8px !important;
    border: 1px solid #c4d1e4 !important;
    border-radius: 8px !important;
    background: #e9eff8 !important;
    color: #10264e !important;
    box-shadow: 0 4px 10px rgba(16, 38, 78, .10) !important;
    transform: none !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  .cv-settings-accordion-trigger:hover,
  .cv-settings-accordion-trigger:focus-visible {
    border-color: #9fb4d2 !important;
    background: #dfe9f6 !important;
    box-shadow: 0 7px 16px rgba(16, 38, 78, .16) !important;
    transform: translateY(-1px) !important;
  }

  .cv-settings-accordion.is-open > .cv-settings-accordion-trigger {
    border-color: #8ea9cd !important;
    background: #d8e6f7 !important;
    color: #0d315f !important;
    box-shadow: 0 6px 15px rgba(16, 55, 101, .16) !important;
  }

  #settingsPanel .cv-settings-filter-trigger.is-open {
    border-color: #8ea9cd !important;
    background: #d8e6f7 !important;
    color: #0d315f !important;
    box-shadow: 0 6px 15px rgba(16, 55, 101, .16) !important;
  }

  .cv-settings-accordion-trigger-label {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .cv-settings-accordion-chevron {
    width: 17px;
    height: 17px;
    justify-self: center;
    transition: transform .2s ease;
  }

  .cv-settings-accordion.is-open > .cv-settings-accordion-trigger .cv-settings-accordion-chevron {
    transform: rotate(180deg);
  }

  #settingsPanel .cv-settings-filter-trigger.is-open .cv-settings-accordion-chevron {
    transform: rotate(180deg);
  }

  #settingsPanel .cv-settings-filter-trigger,
  #settingsPanel .cv-settings-filter-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  #settingsPanel .cv-settings-filter-table {
    display: grid;
    gap: 10px;
    padding: 10px;
    border: 1px solid #d7e0f0;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 5px 13px rgba(16, 38, 78, .08);
  }

  #settingsPanel .cv-settings-filter-table[hidden] {
    display: none !important;
  }

  .cv-settings-accordion-body {
    display: grid;
    grid-template-rows: 0fr;
    padding: 0 10px;
    overflow: hidden;
    border: 0 solid #d7e0f0;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
    opacity: 0;
    pointer-events: none;
    transition: grid-template-rows .22s ease, opacity .16s ease, padding .22s ease, border-width .22s ease, box-shadow .22s ease;
    box-sizing: border-box;
  }

  .cv-settings-accordion.is-open > .cv-settings-accordion-body {
    grid-template-rows: 1fr;
    padding: 11px 10px;
    border-width: 1px;
    box-shadow: 0 5px 13px rgba(16, 38, 78, .08);
    opacity: 1;
    pointer-events: auto;
  }

  .cv-settings-accordion-content {
    min-height: 0;
    display: grid;
    gap: 10px;
    overflow: hidden;
  }

  .cv-perso-intro {
    padding: 0 4px 2px;
    color: var(--cv-perso-muted);
    font-size: 11px;
    line-height: 1.35;
    text-align: center;
  }

  .cv-perso-control {
    width: 100%;
    margin: 0 auto;
  }

  .cv-theme-preview {
    width: 54px;
    height: 38px;
    border: 1px solid rgba(16, 46, 96, .24);
    border-radius: 8px;
    background: #dfe3ea;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .56);
  }

  .cv-theme-gallery-trigger,
  .cv-theme-gallery-trigger:hover,
  .cv-theme-gallery-trigger:focus,
  .cv-theme-gallery-trigger:active {
    width: 100% !important;
    min-height: 50px !important;
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) 18px !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 5px 10px 5px 5px !important;
    border: 1px solid #b9c8e1 !important;
    border-radius: 8px !important;
    background: #f8faff !important;
    color: var(--cv-perso-ink) !important;
    text-align: left !important;
  }

  .cv-theme-gallery-trigger:hover,
  .cv-theme-gallery-trigger:focus-visible {
    transform: translateY(-1px) !important;
    box-shadow: 0 9px 20px rgba(16, 38, 78, .16) !important;
  }

  .cv-theme-gallery-trigger > svg {
    width: 18px;
    height: 18px;
  }

  .cv-theme-trigger-label {
    min-width: 0;
    font-size: 11px;
    font-weight: 900;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .cv-perso-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
  }

  .cv-perso-actions button {
    flex: 1 1 0;
    min-width: 0;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
  }

  .cv-perso-actions svg {
    width: 15px;
    height: 15px;
    flex: 0 0 auto;
  }

  .cv-perso-file-input {
    display: none !important;
  }

  .cv-perso-status {
    min-height: 15px;
    color: var(--cv-perso-muted);
    font-size: 10px;
    line-height: 1.35;
    text-align: center;
    overflow-wrap: anywhere;
  }

  .cv-asset-preview {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border: 1px dashed #b9c8e1;
    border-radius: 8px;
    background-color: #f8faff;
    background-position: center;
    background-repeat: no-repeat;
    color: #65738c;
    font-size: 10px;
    font-weight: 800;
    text-align: center;
    overflow: hidden;
  }

  .cv-watermark-preview {
    width: min(132px, 52%);
    min-height: 0;
    aspect-ratio: 210 / 297;
    margin-left: auto;
    margin-right: auto;
    background-size: contain;
  }

  .cv-footer-preview {
    min-height: 58px;
    background: #0036d8;
  }

  .cv-footer-preview img {
    display: block;
    max-width: 94%;
    max-height: 42px;
    width: auto;
    height: auto;
    object-fit: contain;
  }

  .cv-perso-range-row {
    display: grid;
    grid-template-columns: auto minmax(90px, 1fr) 38px;
    align-items: center;
    gap: 8px;
    color: var(--cv-perso-ink);
    font-size: 10px;
    font-weight: 850;
  }

  .cv-perso-range-row input[type="range"] {
    width: 100%;
    min-width: 0;
  }

  .cv-perso-range-value {
    text-align: right;
    font-variant-numeric: tabular-nums;
  }

  #personalizationPanel .settings-toggle {
    justify-content: center;
  }

  #personalizationPanel .profile-photo-status {
    width: 100%;
    min-width: 0;
    text-align: left;
  }

  #personalizationPanel .cv-photo-toggle-only {
    width: fit-content;
    min-height: 24px;
    margin: 0 auto;
    padding: 0;
  }

  .cv-profile-photo-panel-preview {
    width: min(112px, 46%);
    aspect-ratio: 3 / 4;
    margin: 0 auto;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px dashed #b9c8e1;
    border-radius: 8px;
    background: #f8faff;
    color: #65738c;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.3;
    text-align: center;
  }

  .cv-profile-photo-panel-preview img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }

  .cv-profile-photo-panel-preview img[hidden],
  .cv-profile-photo-panel-preview span[hidden] {
    display: none !important;
  }

  .cv-profile-photo-panel-preview span {
    max-width: 90%;
  }

  .cv-profile-photo-panel-preview.has-photo {
    border-style: solid;
    background: #fff;
    box-shadow: 0 5px 14px rgba(16, 38, 78, .12);
  }

  .cv-photo-meta-row {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
  }

  .cv-photo-history-button {
    min-height: 32px !important;
    display: inline-grid !important;
    grid-auto-flow: column;
    grid-template-columns: max-content 18px;
    place-items: center;
    align-content: center;
    justify-content: center;
    gap: 6px;
    padding: 5px 10px !important;
    border: 1px solid #2b5fa7 !important;
    border-radius: 7px !important;
    background: #f3f7fd !important;
    color: #143f78 !important;
    box-shadow: 0 2px 6px rgba(20, 63, 120, .12) !important;
    white-space: nowrap;
  }

  .cv-photo-history-button:hover,
  .cv-photo-history-button:focus-visible {
    background: #e8f1fd !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 13px rgba(20, 63, 120, .22) !important;
  }

  .cv-photo-history-count {
    width: 18px;
    min-width: 18px;
    max-width: 18px;
    height: 18px;
    display: inline-grid;
    place-items: center;
    padding: 1px 0 0;
    border-radius: 50%;
    background: #1f5d9d;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    box-sizing: border-box;
  }

  .cv-photo-history-overlay {
    position: fixed;
    inset: 0;
    z-index: 6500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px;
    background: rgba(13, 28, 55, .60);
    backdrop-filter: blur(4px);
  }

  .cv-photo-history-overlay[hidden] {
    display: none !important;
  }

  body.cv-photo-history-open {
    overflow: hidden !important;
  }

  .cv-photo-history-dialog {
    width: min(760px, calc(100vw - 28px));
    max-height: min(760px, calc(100vh - 28px));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #c9d6ea;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 64px rgba(5, 18, 40, .36);
    color: #10264e;
  }

  .cv-photo-history-header {
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 12px 11px 16px;
    border-bottom: 1px solid #dce4f1;
  }

  .cv-photo-history-header h2 {
    margin: 0 0 2px;
    font-size: 16px;
    line-height: 1.2;
  }

  .cv-photo-history-header p {
    margin: 0;
    color: #60708c;
    font-size: 10px;
    line-height: 1.35;
  }

  .cv-photo-history-close {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 1px solid #c8d5e8 !important;
    background: #f7f9fc !important;
    color: #163b70 !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }

  .cv-photo-history-body {
    min-height: 210px;
    overflow: auto;
    padding: 14px;
  }

  .cv-photo-history-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(144px, 1fr));
    gap: 12px;
  }

  .cv-photo-history-item {
    min-width: 0;
    display: grid;
    gap: 7px;
    padding: 8px;
    border: 1px solid #d4deee;
    border-radius: 7px;
    background: #fbfcfe;
  }

  .cv-photo-history-item.is-selected {
    border-color: #1d62b2;
    box-shadow: 0 0 0 2px rgba(29, 98, 178, .14);
    background: #f4f8fe;
  }

  .cv-photo-history-item.is-active .cv-photo-history-thumb::after {
    content: "Em uso";
    position: absolute;
    right: 5px;
    bottom: 5px;
    padding: 3px 6px;
    border-radius: 999px;
    background: #137a4b;
    color: #fff;
    font: 800 9px Arial, Helvetica, sans-serif;
  }

  .cv-photo-history-thumb {
    position: relative;
    width: min(104px, 100%);
    aspect-ratio: 3 / 4;
    justify-self: center;
    overflow: hidden;
    padding: 0 !important;
    border: 1px solid #c5d2e6 !important;
    border-radius: 7px !important;
    background: #fff !important;
    box-shadow: 0 4px 10px rgba(16, 38, 78, .12) !important;
  }

  .cv-photo-history-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }

  .cv-photo-history-title {
    width: 100%;
    min-width: 0;
    height: 32px;
    box-sizing: border-box;
    border: 1px solid #c5d2e6;
    border-radius: 6px;
    padding: 5px 7px;
    background: #fff;
    color: #10264e;
    font: 700 10px Arial, Helvetica, sans-serif;
    text-align: center;
  }

  .cv-photo-history-date {
    min-height: 13px;
    color: #6a7890;
    font-size: 9px;
    line-height: 1.3;
    text-align: center;
  }

  .cv-photo-history-empty {
    min-height: 190px;
    display: grid;
    place-items: center;
    padding: 20px;
    border: 1px dashed #c8d5e8;
    border-radius: 7px;
    color: #64748b;
    font-size: 11px;
    line-height: 1.45;
    text-align: center;
  }

  .cv-photo-history-empty[hidden] {
    display: none !important;
  }

  .cv-photo-history-footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 10px 14px;
    border-top: 1px solid #dce4f1;
    background: #f8fafd;
  }

  .cv-photo-history-footer button {
    min-height: 36px;
  }

  @media (max-width: 560px) {
    .cv-photo-meta-row {
      grid-template-columns: 1fr;
    }

    .cv-photo-history-button {
      width: 100%;
    }

    .cv-photo-history-overlay {
      align-items: flex-end;
      padding: 8px;
    }

    .cv-photo-history-dialog {
      width: 100%;
      max-height: calc(100dvh - 16px);
    }

    .cv-photo-history-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 9px;
    }

    .cv-photo-history-footer {
      display: grid;
      grid-template-columns: 1fr 1fr;
    }

    .cv-photo-history-footer .cv-photo-history-dismiss {
      grid-column: 1 / -1;
    }
  }

  #personalizationPanel .cv-perso-photo-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }

  .cv-perso-photo-actions button {
    width: 100%;
    height: 38px;
    min-height: 38px;
    padding-left: 7px;
    padding-right: 7px;
  }

  .cv-perso-photo-actions button:disabled {
    cursor: not-allowed;
    opacity: .48;
    transform: none !important;
    box-shadow: none !important;
  }

  .cv-photo-edit {
    border: 1px solid #1f5d9d !important;
    border-radius: 999px !important;
    background: #1f5d9d !important;
    color: #fff !important;
    box-shadow: 0 5px 12px rgba(31, 93, 157, .24) !important;
  }

  .cv-photo-edit:hover,
  .cv-photo-edit:focus-visible {
    border-color: #174b81 !important;
    background: #174b81 !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 8px 17px rgba(31, 93, 157, .32) !important;
  }

  .cv-photo-edit:active {
    border-color: #123d6b !important;
    background: #123d6b !important;
    color: #fff !important;
    transform: translateY(0) !important;
    box-shadow: 0 3px 8px rgba(31, 93, 157, .24) !important;
  }

  .cv-photo-change,
  .cv-photo-change:hover,
  .cv-photo-change:focus,
  .cv-photo-change:active {
    border: 0 !important;
    border-radius: 999px !important;
    background:
      radial-gradient(circle at 20% 15%, rgba(255, 255, 255, .30), transparent 27%),
      linear-gradient(135deg, #8a5a06 0%, #c98b19 52%, #e7ae2e 100%) !important;
    color: #fff !important;
    box-shadow: 0 5px 12px rgba(138, 90, 6, .26) !important;
  }

  .cv-photo-change:hover,
  .cv-photo-change:focus-visible {
    transform: translateY(-1px) !important;
    box-shadow: 0 8px 17px rgba(138, 90, 6, .34) !important;
  }

  .cv-photo-change:active {
    transform: translateY(0) !important;
    box-shadow: 0 3px 8px rgba(138, 90, 6, .24) !important;
  }

  #personalizationPanel .settings-hint {
    text-align: center;
  }

  #sourcePage > .cv-document-watermark,
  .print-page > .cv-document-watermark {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }

  .cv-watermark-fit {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    padding: 3px;
    border: 1px solid #d2dced;
    border-radius: 8px;
    background: #eef3fb;
  }

  .cv-watermark-fit button,
  .cv-watermark-fit button:hover,
  .cv-watermark-fit button:focus,
  .cv-watermark-fit button:active {
    min-height: 30px !important;
    padding: 4px 8px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: #536480 !important;
    box-shadow: none !important;
    transform: none !important;
    font-size: 10px !important;
    font-weight: 850 !important;
  }

  .cv-watermark-fit button.is-active,
  .cv-watermark-fit button.is-active:hover,
  .cv-watermark-fit button.is-active:focus {
    background: #fff !important;
    color: #102e60 !important;
    box-shadow: 0 3px 8px rgba(16, 38, 78, .14) !important;
  }

  .cv-theme-gallery-overlay {
    position: fixed;
    inset: 0;
    z-index: 6400;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: rgba(13, 28, 55, .58);
    backdrop-filter: blur(4px);
  }

  body.cv-theme-gallery-open {
    overflow: hidden !important;
  }

  .cv-theme-gallery-overlay[hidden] {
    display: none !important;
  }

  .cv-theme-gallery-card {
    width: min(900px, calc(100vw - 24px));
    max-height: min(820px, calc(100vh - 24px));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #cbd7ea;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 64px rgba(5, 18, 40, .34);
    color: #10264e;
  }

  .cv-theme-gallery-header {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px 10px 16px;
    border-bottom: 1px solid #dce4f1;
    background: #fff;
  }

  .cv-theme-gallery-header > div {
    min-width: 0;
    display: grid;
    gap: 2px;
  }

  .cv-theme-gallery-header strong {
    font-size: 15px;
    line-height: 1.2;
  }

  .cv-theme-gallery-header span {
    color: #61718c;
    font-size: 11px;
    font-weight: 650;
  }

  .cv-theme-gallery-header > button,
  .cv-theme-gallery-header > button:hover,
  .cv-theme-gallery-header > button:focus,
  .cv-theme-gallery-header > button:active {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 1px solid #c8d5e8 !important;
    border-radius: 50% !important;
    background: #f7faff !important;
    color: #102e60 !important;
    box-shadow: none !important;
    transform: none !important;
    font-size: 21px !important;
    line-height: 1 !important;
  }

  .cv-theme-gallery-scroll {
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 16px 18px 18px;
    overscroll-behavior: contain;
    scrollbar-gutter: stable both-edges;
    scrollbar-width: thin;
    scrollbar-color: var(--cv-scrollbar-thumb) var(--cv-scrollbar-track);
  }

  .cv-theme-gallery-section + .cv-theme-gallery-section {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #dce4f1;
  }

  .cv-theme-gallery-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin: 0 0 10px;
  }

  .cv-theme-gallery-section-head > div {
    min-width: 0;
    display: grid;
    gap: 2px;
  }

  .cv-theme-gallery-section h3 {
    margin: 0;
    color: #10264e;
    font-size: 13px;
    line-height: 1.2;
    text-transform: none;
  }

  .cv-theme-gallery-section-head p {
    margin: 0;
    color: #66758e;
    font-size: 10px;
    line-height: 1.35;
  }

  .cv-theme-gallery-count {
    min-width: 30px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border: 1px solid #cdd9ea;
    border-radius: 999px;
    background: #f5f8fc;
    color: #244575;
    font-size: 10px;
    font-weight: 850;
  }

  .cv-theme-gallery-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
  }

  .cv-theme-gallery-grid button,
  .cv-theme-gallery-grid button:hover,
  .cv-theme-gallery-grid button:focus,
  .cv-theme-gallery-grid button:active {
    min-width: 0 !important;
    display: grid !important;
    grid-template-rows: 88px minmax(34px, auto) !important;
    gap: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    border: 1px solid #d2dceb !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #22314e !important;
    box-shadow: none !important;
    transform: none !important;
    text-align: left !important;
  }

  .cv-theme-gallery-grid button:hover,
  .cv-theme-gallery-grid button:focus-visible {
    border-color: #6284ba !important;
    box-shadow: 0 8px 18px rgba(16, 38, 78, .14) !important;
    transform: translateY(-1px) !important;
  }

  .cv-theme-gallery-grid button.is-active {
    border-color: #0f4ca2 !important;
    box-shadow: 0 0 0 2px rgba(15, 76, 162, .24), 0 8px 18px rgba(16, 38, 78, .14) !important;
  }

  .cv-theme-gallery-grid button.is-active::after {
    content: "\2713";
    position: absolute;
    top: 7px;
    right: 7px;
    width: 23px;
    height: 23px;
    display: grid;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #0f4ca2;
    color: #fff;
    box-shadow: 0 2px 8px rgba(6, 29, 66, .3);
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
  }

  .cv-theme-gallery-grid button > span:not(.cv-shine) {
    display: block;
    width: 100%;
    height: 100%;
    border-bottom: 1px solid #dce4f1;
    background: #dfe3ea;
    background-position: center;
    background-repeat: no-repeat;
  }

  .cv-theme-gallery-grid button > b {
    min-width: 0;
    display: flex;
    align-items: center;
    padding: 6px 8px;
    font-size: 10px;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  [data-workspace-theme="padrao"] > span:not(.cv-shine) { background: #dfe3ea !important; }
  [data-workspace-theme="branco"] > span:not(.cv-shine) { background: #f4f6fa !important; }
  [data-workspace-theme="sereno"] > span:not(.cv-shine) { background: #dbe7e1 !important; }
  [data-workspace-theme="areia"] > span:not(.cv-shine) { background: #ece4d4 !important; }
  [data-workspace-theme="coral"] > span:not(.cv-shine) { background: #efd2cc !important; }
  [data-workspace-theme="lilas"] > span:not(.cv-shine) { background: #ded9ec !important; }
  [data-workspace-theme="navy"] > span:not(.cv-shine) { background: #17335f !important; }
  [data-workspace-theme="grafite"] > span:not(.cv-shine) { background: #33373e !important; }
  [data-workspace-theme="nevoa"] > span:not(.cv-shine) { background: linear-gradient(180deg, #eef1f6, #cbd8e7) !important; }
  [data-workspace-theme="ceu"] > span:not(.cv-shine) { background: linear-gradient(145deg, #c5e7f2, #edf6ff 52%, #afc9e5) !important; }
  [data-workspace-theme="bosque"] > span:not(.cv-shine) { background: linear-gradient(145deg, #173a2e, #5f8064 52%, #dbe4ce) !important; }
  [data-workspace-theme="aurora"] > span:not(.cv-shine) { background: linear-gradient(145deg, #253b68, #a16b86 52%, #efc7a9) !important; }

  .cv-theme-gallery-upload {
    margin-top: 22px;
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding-top: 20px;
    border-top: 1px solid #dce4f1;
  }

  .cv-theme-gallery-upload-preview {
    width: 92px;
    height: 62px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px dashed #b7c7df;
    border-radius: 7px;
    background: #f5f8fc;
    color: #6a7890;
    font-size: 9px;
    font-weight: 750;
    text-align: center;
  }

  .cv-theme-gallery-upload-preview.has-image {
    border-style: solid;
    color: transparent;
  }

  .cv-theme-gallery-upload-copy {
    min-width: 0;
    display: grid;
    gap: 3px;
  }

  .cv-theme-gallery-upload strong {
    font-size: 12px;
  }

  .cv-theme-gallery-upload span {
    overflow: hidden;
    color: #61718c;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .cv-theme-gallery-upload-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
  }

  .cv-theme-gallery-upload-actions button {
    min-height: 34px;
  }

  .cv-theme-use,
  .cv-theme-use:hover,
  .cv-theme-use:focus,
  .cv-theme-use:active {
    min-height: 34px !important;
    padding: 7px 12px !important;
    border: 1px solid #174d91 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #2462aa 0%, #123d78 100%) !important;
    color: #fff !important;
    box-shadow: 0 6px 14px rgba(18, 61, 120, .18) !important;
    transform: none !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }

  .cv-theme-use:hover,
  .cv-theme-use:focus-visible {
    box-shadow: 0 8px 18px rgba(18, 61, 120, .26) !important;
    transform: translateY(-1px) !important;
  }

  .cv-theme-use.is-active {
    box-shadow: 0 0 0 2px rgba(15, 76, 162, .24), 0 8px 18px rgba(18, 61, 120, .24) !important;
  }

  #cvWorkspaceBgUse:disabled,
  #cvWorkspaceBgRemove:disabled {
    opacity: .42 !important;
    filter: grayscale(.4);
    pointer-events: none;
  }

  #sourcePage > .content,
  #sourcePage > .footer,
  .print-page > .print-content,
  .print-page > .footer {
    position: relative;
    z-index: 1;
  }

  .cv-footer-foundation-lock {
    display: grid;
    gap: 3px;
    padding: 9px 10px;
    border: 1px solid #9ac9ad;
    border-left: 3px solid #238657;
    border-radius: 6px;
    background: #edf9f2;
    color: #174f37;
    text-align: left;
  }

  .cv-footer-foundation-lock strong {
    font-size: 11px;
    line-height: 1.2;
  }

  .cv-footer-foundation-lock span {
    font-size: 9.5px;
    line-height: 1.3;
  }

  .cv-footer-preview {
    display: grid !important;
    grid-template-rows: auto auto;
    overflow: hidden;
    background: #fff;
  }

  .cv-footer-preview-addon {
    min-height: 34px;
    padding: 5px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #d7e0f0;
    background: #fff;
  }

  .cv-footer-preview-addon[hidden] {
    display: none !important;
  }

  .cv-footer-preview-addon img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 30px !important;
    object-fit: contain !important;
  }

  .cv-footer-preview-official {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--blue);
  }

  .cv-footer-preview-official img {
    width: 150px !important;
    height: auto !important;
    max-height: 46px !important;
    object-fit: contain !important;
  }

  @media screen and (max-width: 760px) {
    .cv-theme-gallery-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  @media screen and (max-width: 560px) {
    #personalizationPanel .settings-panel-header,
    #personalizationPanel .settings-group,
    #personalizationPanel .cv-perso-intro {
      max-width: none;
    }

    .cv-theme-preview {
      width: 46px;
      height: 34px;
    }

    .cv-theme-gallery-trigger,
    .cv-theme-gallery-trigger:hover,
    .cv-theme-gallery-trigger:focus,
    .cv-theme-gallery-trigger:active {
      grid-template-columns: 46px minmax(0, 1fr) 18px !important;
    }

    .cv-perso-actions button {
      flex: 1 1 128px;
      min-width: 0;
    }

    .cv-theme-gallery-overlay {
      align-items: flex-end;
      padding: 8px;
    }

    .cv-theme-gallery-card {
      width: 100%;
      max-height: calc(100vh - 16px);
    }

    .cv-theme-gallery-scroll {
      padding: 12px;
    }

    .cv-theme-gallery-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cv-theme-gallery-upload {
      grid-template-columns: 1fr;
    }

    .cv-theme-gallery-upload-preview {
      width: 100%;
      height: 86px;
    }

    .cv-theme-gallery-upload-actions {
      justify-content: stretch;
    }

    .cv-theme-gallery-upload-actions button {
      flex: 1 1 0;
      min-width: 0;
    }
  }

  @media print {
    #sourcePage > .cv-document-watermark,
    .print-page > .cv-document-watermark {
      inset: 0 !important;
    }
  }

  /* Regra global: glifos, simbolos e contadores nascem geometricamente centralizados. */
  :where(
    [class$="-icon"],
    [class*="-icon "],
    [class$="-badge"],
    [class*="-badge "],
    [class$="-count"],
    [class*="-count "],
    [class$="-chevron"],
    [class*="-chevron "],
    [class$="-arrow"],
    [class*="-arrow "],
    [class$="-avatar"],
    [class*="-avatar "],
    [class$="-indicator"],
    [class*="-indicator "],
    .cv-zoom-step,
    .cv-access-close,
    .cv-history-close,
    .cv-photo-history-close,
    .cv-tour-close,
    .job-analysis-close,
    .prompt-import-close,
    .selective-remove-close
  ) {
    display: inline-grid !important;
    place-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    font-variant-numeric: tabular-nums;
  }

  :where(
    [class$="-icon"],
    [class*="-icon "],
    [class$="-badge"],
    [class*="-badge "],
    [class$="-count"],
    [class*="-count "],
    [class$="-avatar"],
    [class*="-avatar "]
  ) > :is(svg, img) {
    display: block !important;
    place-self: center !important;
    margin: auto !important;
  }

  .prompt-import-button::before,
  .incorporate-button::before,
  .job-analysis-button::before,
  .draft-reset-button::before,
  .cv-menu-button::before,
  .cv-tour-button::before,
  .cv-tour-panel-button::before {
    display: inline-grid !important;
    place-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    font-variant-numeric: tabular-nums;
  }
