/* Outils de candidature : CV ciblé, compatibilité, suivi, alertes. Même langage que Horizon V2. */
@media screen {
  body.horizon-v2 {
    --career-blue: #065bff;
    --career-blue-soft: #edf5ff;
    --career-ink: #0b1455;
    --career-muted: #6274a7;
    --career-line: #e0ecfb;
    --career-green: #0f8a5f;
    --career-green-soft: #e9f8f1;
    --career-amber: #b25e00;
    --career-amber-soft: #fff5e6;
  }

  /* Même rang que « Emploi » : l'ordre du document place « Candidatures » juste après. */
  .horizon-v2 .nav-item[data-view-target="applications"] {
    order: 2;
  }

  /* ---------- Carte d'offre ---------- */
  .horizon-v2 .job-offer-card {
    display: flex;
    flex-direction: column;
  }
  .horizon-v2 .core-jobs-view .career-offer-footer {
    display: grid;
    gap: 10px;
    align-items: stretch;
    justify-content: stretch;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid #edf2fb;
  }
  .horizon-v2 .career-offer-actions {
    display: grid;
    gap: 10px;
  }
  .horizon-v2 .career-offer-main {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 8px;
  }
  .horizon-v2 .career-offer-main > button {
    width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
  }
  .horizon-v2 .career-tailor-button span {
    margin-right: 4px;
    color: #cfe0ff;
  }
  .horizon-v2 .career-tailor-button.is-busy {
    background: linear-gradient(105deg, #7aa8ff, #5d8dff);
    cursor: progress;
  }
  .horizon-v2 .career-why-button {
    background: var(--career-blue-soft);
    border-color: #d6e7ff;
  }
  .horizon-v2 .career-why-button:hover {
    background: #e2efff;
  }
  .horizon-v2 .career-offer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 4px;
    align-items: center;
  }
  .horizon-v2 .career-link {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 4px 8px;
    border: 0;
    border-radius: 8px;
    background: none;
    color: #2a4fa8;
    font: inherit;
    font-size: 12.5px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
  }
  .horizon-v2 .career-link:hover {
    background: #f1f6ff;
    color: var(--career-blue);
  }
  .horizon-v2 .career-link.is-danger {
    color: #b3261e;
  }
  .horizon-v2 .career-follow.is-tracked {
    color: var(--career-green);
    background: var(--career-green-soft);
  }
  .horizon-v2 .career-offer-source {
    margin: 0;
    color: #8a98bf;
    font-size: 11px;
    line-height: 1.4;
  }

  /* ---------- Notification ---------- */
  .career-toast {
    position: fixed;
    z-index: 80;
    left: 50%;
    bottom: 24px;
    display: flex;
    gap: 12px;
    align-items: center;
    max-width: min(640px, calc(100% - 32px));
    padding: 12px 14px 12px 18px;
    border-radius: 16px;
    background: #0b1455;
    color: #fff;
    box-shadow: 0 18px 50px #0b145540;
    transform: translateX(-50%);
    animation: career-rise 220ms ease-out;
  }
  .career-toast p {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
  }
  .career-toast .primary-button {
    flex: none;
    min-height: 36px;
    white-space: nowrap;
  }
  .career-toast-close {
    flex: none;
    border: 0;
    background: none;
    color: #b9c6ef;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
  }
  @keyframes career-rise {
    from {
      opacity: 0;
      transform: translate(-50%, 10px);
    }
  }

  /* ---------- Panneau « Pourquoi cette offre ? » ---------- */
  .horizon-v2 .career-panel {
    width: min(620px, 100%);
    grid-template-rows: auto 1fr auto;
    background: #fbfdff;
  }
  .horizon-v2 .career-panel-header {
    background: #fff;
  }
  .horizon-v2 .career-panel-header .question-counter {
    margin-top: 4px;
    color: var(--career-ink);
    font-size: 15px;
    font-weight: 600;
  }
  .career-panel-body {
    overflow-y: auto;
    padding: 22px 26px 28px;
  }
  .horizon-v2 .career-panel-footer {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    background: #fff;
  }
  .career-loading {
    display: grid;
    justify-items: center;
    gap: 14px;
    padding: 48px 12px;
    color: var(--career-muted);
    text-align: center;
  }
  .career-loading p {
    max-width: 340px;
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
  }
  .career-spinner {
    width: 34px;
    height: 34px;
    border: 3px solid #d9e7ff;
    border-top-color: var(--career-blue);
    border-radius: 50%;
    animation: career-spin 0.9s linear infinite;
  }
  @keyframes career-spin {
    to {
      transform: rotate(360deg);
    }
  }
  .career-verdict {
    display: flex;
    gap: 16px;
    align-items: center;
    padding: 18px 20px;
    border: 1px solid var(--career-line);
    border-radius: 16px;
    background: #fff;
  }
  .career-verdict.is-strong {
    border-color: #bfe8d5;
    background: linear-gradient(120deg, #f0fbf6, #fff);
  }
  .career-verdict.is-partial {
    border-color: #cfe1ff;
    background: linear-gradient(120deg, #f1f7ff, #fff);
  }
  .career-verdict.is-weak {
    border-color: #f4dcbd;
    background: linear-gradient(120deg, #fff8ee, #fff);
  }
  .career-meter {
    display: flex;
    flex: none;
    gap: 4px;
    align-items: flex-end;
  }
  .career-meter span {
    width: 9px;
    border-radius: 4px;
    background: #dfe7f5;
  }
  .career-meter span:nth-child(1) {
    height: 16px;
  }
  .career-meter span:nth-child(2) {
    height: 24px;
  }
  .career-meter span:nth-child(3) {
    height: 32px;
  }
  .is-strong .career-meter .is-on {
    background: var(--career-green);
  }
  .is-partial .career-meter .is-on {
    background: var(--career-blue);
  }
  .is-weak .career-meter .is-on {
    background: #e08a1e;
  }
  .career-verdict-label {
    margin: 0;
    color: var(--career-ink);
    font-size: 17px;
    font-weight: 700;
  }
  .career-verdict-summary {
    margin: 4px 0 0;
    color: #34437a;
    font-size: 14px;
    line-height: 1.55;
  }
  .career-block {
    margin-top: 22px;
  }
  .horizon-v2 .career-block h3 {
    margin: 0 0 10px;
    font-size: 16px;
  }
  .career-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .career-list > li {
    position: relative;
    padding: 12px 14px 12px 44px;
    border: 1px solid var(--career-line);
    border-radius: 13px;
    background: #fff;
  }
  .career-list > li::before {
    position: absolute;
    top: 12px;
    left: 13px;
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 800;
  }
  .career-list.is-strength > li::before {
    content: "✓";
    background: var(--career-green-soft);
    color: var(--career-green);
  }
  .career-list.is-gap > li::before {
    content: "!";
    background: var(--career-amber-soft);
    color: var(--career-amber);
  }
  .career-list strong {
    display: flex;
    gap: 8px;
    align-items: center;
    color: var(--career-ink);
    font-size: 14px;
  }
  .career-list p {
    margin: 4px 0 0;
    color: #3d4b80;
    font-size: 13.5px;
    line-height: 1.5;
  }
  .career-evidence {
    display: block;
    margin-top: 6px;
    color: #7584ad;
    font-size: 12px;
    line-height: 1.45;
  }
  .career-tag {
    padding: 2px 8px;
    border-radius: 999px;
    background: #fde7cf;
    color: #9a4d00;
    font-size: 11px;
    font-weight: 700;
  }
  .career-trainings {
    display: grid;
    gap: 6px;
    margin-top: 10px;
  }
  .career-trainings-label {
    color: var(--career-blue) !important;
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }
  .career-training {
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    border: 1px solid #d7e6ff;
    border-radius: 11px;
    background: #f6faff;
    color: var(--career-ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
  }
  .career-training:hover {
    border-color: #9fc2ff;
    background: #eef5ff;
  }
  .career-training strong {
    font-size: 13px;
    line-height: 1.35;
  }
  .career-training span {
    color: var(--career-muted);
    font-size: 12px;
  }
  .career-trainings-source {
    color: #8a98bf !important;
    font-size: 11px !important;
  }
  .career-source,
  .career-muted {
    color: var(--career-muted);
    font-size: 13px;
    line-height: 1.55;
  }
  .career-source {
    margin: 22px 0 10px;
  }
  .career-empty {
    display: grid;
    gap: 12px;
    justify-items: start;
    padding: 20px;
    border: 1px dashed #cfdcf3;
    border-radius: 14px;
    background: #fff;
    color: #34437a;
  }
  .career-empty p {
    margin: 0;
    line-height: 1.55;
  }

  /* ---------- Vue « Mes candidatures » ---------- */
  .career-applications {
    padding: 34px 0 20px;
  }
  .career-applications-header {
    display: flex;
    gap: 16px;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 22px;
  }
  .horizon-v2 .career-applications-header h1 {
    margin: 4px 0 6px;
    font-size: 34px;
  }
  .career-applications-header .eyebrow {
    margin: 0;
    color: var(--career-blue);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .career-applications-count {
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--career-blue-soft);
    color: #2a4fa8;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
  }
  .career-applications-count:empty {
    display: none;
  }
  .career-board {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
  }
  .career-board > .career-empty,
  .career-board > .career-muted {
    grid-column: 1 / -1;
  }
  .career-board-empty {
    justify-items: center;
    padding: 46px 20px;
    text-align: center;
  }
  .horizon-v2 .career-board-empty h3 {
    margin: 0;
    font-size: 20px;
  }
  .career-board-empty p {
    max-width: 560px;
  }
  .career-column {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--career-line);
    border-top: 4px solid #9db8e8;
    border-radius: 16px;
    background: #f8fbff;
  }
  .career-column.is-to_send {
    border-top-color: #7aa6ff;
  }
  .career-column.is-sent {
    border-top-color: #065bff;
  }
  .career-column.is-interview {
    border-top-color: #7c4dff;
  }
  .career-column.is-answer {
    border-top-color: var(--career-green);
  }
  .career-column-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .horizon-v2 .career-column-head h2 {
    margin: 0;
    font-size: 17px;
  }
  .career-column-count {
    min-width: 26px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #fff;
    color: #2a4fa8;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
  }
  .career-column-hint {
    margin: 0;
    color: var(--career-muted);
    font-size: 12.5px;
    line-height: 1.45;
  }
  .career-column-list {
    display: grid;
    gap: 10px;
  }
  .career-column-empty {
    margin: 0;
    padding: 18px 10px;
    border: 1px dashed #d5e1f5;
    border-radius: 12px;
    color: #8a98bf;
    font-size: 13px;
    text-align: center;
  }
  .career-application {
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px solid var(--career-line);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 4px 14px #2765af0a;
  }
  .career-application-head {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    justify-content: space-between;
  }
  .horizon-v2 .career-application-head h3 {
    margin: 0;
    font-size: 14.5px;
    line-height: 1.35;
    letter-spacing: -0.01em;
  }
  .career-application-facts {
    margin: 0;
    color: var(--career-muted);
    font-size: 12.5px;
  }
  .career-application-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }
  .career-application-badges span {
    padding: 3px 8px;
    border-radius: 999px;
    background: var(--career-blue-soft);
    color: #2a4fa8;
    font-size: 11.5px;
    font-weight: 600;
  }
  .career-application-badges .is-date {
    background: #f2f4f9;
    color: #5a6891;
  }
  .career-outcome {
    flex: none;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
  }
  .career-outcome.is-positive {
    background: var(--career-green-soft);
    color: var(--career-green);
  }
  .career-outcome.is-negative {
    background: #fdecea;
    color: #b3261e;
  }
  .career-application-controls {
    display: flex;
    gap: 6px;
  }
  .career-step-button,
  .career-next-button,
  .career-outcome-button {
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid #d6e5ff;
    border-radius: 10px;
    background: #fff;
    color: #2a4fa8;
    font: inherit;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
  }
  .career-next-button {
    flex: 1;
    border-color: transparent;
    background: var(--career-blue);
    color: #fff;
  }
  .career-next-button:hover {
    background: #004ae0;
  }
  .career-outcome-button {
    flex: 1;
  }
  .career-outcome-button.is-on {
    border-color: var(--career-blue);
    background: var(--career-blue-soft);
  }
  .career-application-more summary {
    color: #5a6891;
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
  }
  .career-notes {
    width: 100%;
    margin-top: 8px;
    padding: 8px 10px;
    border: 1px solid #d9e4f5;
    border-radius: 10px;
    font: inherit;
    font-size: 13px;
    resize: vertical;
  }
  .career-interview-date {
    display: grid;
    gap: 4px;
    margin-top: 8px;
    color: #5a6891;
    font-size: 12.5px;
  }
  .career-interview-date input {
    padding: 7px 9px;
    border: 1px solid #d9e4f5;
    border-radius: 9px;
    font: inherit;
  }
  .career-application-links {
    display: flex;
    flex-wrap: wrap;
    margin-top: 6px;
  }

  /* ---------- Alertes du matin ---------- */
  .career-alerts {
    margin: 0 0 18px;
    padding: 14px 18px;
    border: 1px solid #d8e7ff;
    border-radius: 16px;
    background: linear-gradient(110deg, #f3f8ff, #fffaf0);
  }
  .career-alerts-head {
    display: flex;
    gap: 14px;
    align-items: center;
  }
  .career-alerts-icon {
    display: grid;
    flex: none;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    background: #fff3d6;
    color: #d98a00;
    font-size: 20px;
  }
  .career-alerts-head > div {
    flex: 1;
  }
  .career-alerts-head strong {
    color: var(--career-ink);
    font-size: 15px;
  }
  .career-alerts-head p {
    margin: 2px 0 0;
    color: #4a5a8c;
    font-size: 13px;
  }
  .career-alerts-head .primary-button {
    flex: none;
    min-height: 40px;
    padding: 8px 18px;
    font-size: 13.5px;
  }
  .career-alerts-state {
    margin: 8px 0 0;
    color: #2a4fa8;
    font-size: 13px;
  }
  .career-alerts-state:empty {
    display: none;
  }
  .career-alert-list {
    display: grid;
    gap: 6px;
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
  }
  .career-alert-list:empty {
    display: none;
  }
  .career-alert {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-radius: 11px;
    background: #ffffffc0;
  }
  .career-alert strong {
    display: block;
    color: var(--career-ink);
    font-size: 13.5px;
  }
  .career-alert span {
    color: var(--career-muted);
    font-size: 12px;
  }
  .career-alert.is-paused {
    opacity: 0.7;
  }
  .career-alert-actions {
    display: flex;
    flex-wrap: wrap;
  }
  .career-email-dialog {
    width: min(680px, calc(100% - 24px));
    height: min(820px, calc(100% - 40px));
    padding: 0;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 30px 80px #0b145545;
  }
  .career-email-dialog[open] {
    display: grid;
    grid-template-rows: auto 1fr;
  }
  .career-email-dialog::backdrop {
    background: rgb(11 20 85 / 35%);
    backdrop-filter: blur(3px);
  }
  .career-email-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid var(--career-line);
    color: var(--career-ink);
  }
  .career-email-frame {
    width: 100%;
    height: 100%;
    border: 0;
    background: #f4f8ff;
  }

  /* ---------- Accueil : offres du jour ---------- */
  .career-today {
    margin: 18px 0 8px;
    padding: 18px 22px;
    border: 1px solid #f1dfb8;
    border-radius: 18px;
    background: linear-gradient(110deg, #fffaf0, #f3f8ff);
  }
  .career-today-head {
    display: flex;
    gap: 12px;
    align-items: center;
  }
  .career-today-sun {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    background: #fff0cc;
    color: #d98a00;
    font-size: 19px;
  }
  .horizon-v2 .career-today-head h2 {
    flex: 1;
    margin: 0;
    font-size: 19px;
  }
  .career-today-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
  }
  .career-today-list li {
    display: grid;
    gap: 3px;
    padding: 12px 14px;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 4px 16px #2765af0d;
  }
  .career-today-title {
    color: var(--career-ink);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
  }
  a.career-today-title:hover {
    color: var(--career-blue);
  }
  .career-today-list span {
    color: var(--career-muted);
    font-size: 12.5px;
  }

  /* ---------- Lettre et entretien ---------- */
  .career-kit-tabs {
    display: flex;
    gap: 6px;
    padding: 4px;
    border-radius: 14px;
    background: #eef4ff;
  }
  .career-kit-tab {
    flex: 1;
    min-height: 40px;
    border: 0;
    border-radius: 11px;
    background: none;
    color: #4a5a8c;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
  }
  .career-kit-tab.active {
    background: #fff;
    color: var(--career-blue);
    box-shadow: 0 2px 8px #2765af1a;
  }
  .career-letter-editor {
    display: grid;
    gap: 6px;
    color: #4a5a8c;
    font-size: 12.5px;
    font-weight: 600;
  }
  .career-letter-editor textarea {
    width: 100%;
    min-height: 260px;
    padding: 14px 16px;
    border: 1px solid #d6e3f7;
    border-radius: 12px;
    background: #fff;
    color: var(--career-ink);
    font: inherit;
    font-size: 14.5px;
    font-weight: 400;
    line-height: 1.65;
    resize: vertical;
  }
  .career-letter-editor textarea:focus {
    border-color: #8db6ff;
    outline: 3px solid #d9e8ff;
  }
  .career-letter-proofs {
    margin-top: 10px;
  }
  .career-letter-proofs summary {
    color: #2a4fa8;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
  }
  .career-kit-interview {
    display: grid;
    gap: 14px;
  }
  .career-interview-intro {
    display: grid;
    gap: 12px;
    justify-items: start;
    padding: 18px;
    border: 1px solid var(--career-line);
    border-radius: 14px;
    background: #fff;
  }
  .career-interview-intro p {
    margin: 0;
    color: #34437a;
    line-height: 1.55;
  }
  .horizon-v2 .career-interview h3 {
    margin: 6px 0 10px;
    font-size: 16px;
  }
  .career-questions {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    counter-reset: question;
    list-style: none;
  }
  .career-questions > li {
    position: relative;
    padding: 14px 16px 14px 50px;
    border: 1px solid var(--career-line);
    border-radius: 14px;
    background: #fff;
    counter-increment: question;
  }
  .career-questions > li::before {
    position: absolute;
    top: 14px;
    left: 14px;
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 8px;
    background: var(--career-blue-soft);
    color: var(--career-blue);
    content: counter(question);
    font-size: 12px;
    font-weight: 800;
  }
  .career-questions strong {
    color: var(--career-ink);
    font-size: 14.5px;
    line-height: 1.4;
  }
  .career-why {
    margin: 4px 0 0;
    color: var(--career-muted);
    font-size: 12.5px;
  }
  .career-answer {
    margin-top: 10px;
    padding: 10px 12px;
    border-left: 3px solid #8db6ff;
    border-radius: 0 10px 10px 0;
    background: #f5f9ff;
  }
  .career-answer p {
    margin: 0;
    color: #25336b;
    font-size: 13.5px;
    line-height: 1.6;
  }
  .career-answer.is-empty {
    border-left-color: #f0c27a;
    background: #fffaf1;
    color: #7a5200;
    font-size: 13px;
  }
  .career-watchouts,
  .career-ask {
    padding: 14px 16px;
    border-radius: 14px;
  }
  .career-watchouts {
    border: 1px solid #f4dcbd;
    background: #fffaf2;
  }
  .career-ask {
    border: 1px solid var(--career-line);
    background: #fff;
  }
  .career-watchouts ul,
  .career-ask ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 18px;
  }
  .career-watchouts strong {
    color: #7a4100;
    font-size: 13.5px;
  }
  .career-watchouts p,
  .career-ask li {
    margin: 2px 0 0;
    color: #3d4b80;
    font-size: 13.5px;
    line-height: 1.5;
  }

  /* ---------- Studio CV : encadré « version ciblée » ---------- */
  .cv-tailor-notice {
    margin: 0 0 16px;
    padding: 18px 22px;
    border: 1px solid #cfe1ff;
    border-radius: 18px;
    background: linear-gradient(115deg, #eef5ff, #fff 60%);
    box-shadow: 0 8px 26px #2765af12;
  }
  .cv-tailor-head {
    display: flex;
    gap: 14px;
    align-items: flex-start;
  }
  .cv-tailor-head > div {
    flex: 1;
  }
  .cv-tailor-badge {
    display: grid;
    flex: none;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    background: var(--career-blue);
    color: #fff;
  }
  .cv-tailor-badge svg {
    width: 22px;
    height: 22px;
  }
  .horizon-v2 .cv-tailor-head h2 {
    margin: 2px 0 4px;
    font-size: 20px;
  }
  .cv-tailor-head .cv-help {
    margin: 0;
  }
  .cv-tailor-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
    margin-top: 14px;
  }
  .cv-tailor-col {
    padding: 12px 14px;
    border: 1px solid var(--career-line);
    border-radius: 13px;
    background: #fff;
  }
  .cv-tailor-col.is-warning {
    border-color: #f4dcbd;
    background: #fffaf2;
  }
  .horizon-v2 .cv-tailor-col h3 {
    margin: 0 0 8px;
    font-size: 14px;
    letter-spacing: -0.01em;
  }
  .cv-tailor-list {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .cv-tailor-list li {
    position: relative;
    padding-left: 20px;
    color: #34437a;
    font-size: 13px;
    line-height: 1.45;
  }
  .cv-tailor-list li::before {
    position: absolute;
    left: 0;
    font-weight: 800;
  }
  .cv-tailor-list.is-done li::before,
  .cv-tailor-list.is-match li::before {
    content: "✓";
    color: var(--career-green);
  }
  .cv-tailor-list.is-missing li::before {
    content: "!";
    left: 4px;
    color: var(--career-amber);
  }
  .cv-tailor-list.is-match strong {
    display: block;
    color: var(--career-ink);
  }
  .cv-tailor-list.is-match span {
    color: var(--career-muted);
    font-size: 12px;
  }
  .cv-tailor-col .cv-help {
    margin: 8px 0 0;
    font-size: 12.5px;
  }

  /* ---------- Panneau de compte ---------- */
  .horizon-v2 .account-panel .panel-body {
    min-width: 0;
    padding: 20px 26px 30px;
  }
  .horizon-v2 .account-panel :is(.account-auth-view, .account-reset-view) {
    display: grid;
    gap: 14px;
    min-width: 0;
  }
  .horizon-v2 .account-panel :is(input, .primary-button, .account-tabs) {
    box-sizing: border-box;
    max-width: 100%;
  }

  /* ---------- Connexion avec Google ---------- */
  .account-google {
    display: grid;
    gap: 14px;
    margin: 4px 0 6px;
  }
  .account-google[hidden] {
    display: none;
  }
  .google-button {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 18px;
    border: 1px solid #747775;
    border-radius: 999px;
    background: #fff;
    color: #1f1f1f;
    font-family: Roboto, "Avenir Next", Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition:
      background 120ms ease,
      box-shadow 120ms ease;
  }
  .google-button:hover {
    background: #f8faff;
    box-shadow: 0 2px 10px #0b14551a;
  }
  .google-button:focus-visible {
    outline: 3px solid #9dc1ff;
    outline-offset: 2px;
  }
  .google-mark {
    width: 20px;
    height: 20px;
    flex: none;
  }
  .account-divider {
    display: flex;
    gap: 12px;
    align-items: center;
    margin: 0;
    color: var(--career-muted);
    font-size: 13px;
  }
  .account-divider::before,
  .account-divider::after {
    flex: 1;
    height: 1px;
    background: #dfe7f5;
    content: "";
  }

  /* ---------- Petits écrans ---------- */
  @media (max-width: 1100px) {
    .career-board {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 720px) {
    .career-board,
    .career-today-list {
      grid-template-columns: 1fr;
    }
    .career-applications-header,
    .career-alerts-head,
    .career-today-head {
      flex-wrap: wrap;
    }
    .horizon-v2 .career-applications-header h1 {
      font-size: 28px;
    }
    .career-panel-body {
      padding: 18px 16px 24px;
    }
    .horizon-v2 .career-panel-footer {
      flex-direction: column-reverse;
    }
    .horizon-v2 .career-panel-footer > button {
      width: 100%;
    }
    .career-toast {
      flex-wrap: wrap;
    }
  }
}

@media print {
  .career-toast,
  .career-panel,
  .career-backdrop,
  .cv-tailor-notice {
    display: none !important;
  }
}
