html,
body {
    min-width: 900px;
}

body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    background: #f5f7f8;
    color: #000000;
    font-size: 13px;
    line-height: 1.5;
}

.page-container {
    width: 900px;
    margin: 40px auto;
    background: #ffffff;
    border: 1px solid #dddddd;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.page-header {
    padding: 28px 30px;
    border-bottom: 4px solid #61A6AB;
    text-align: center;
}

.module-header-icon {
    display: block;
    height: 150px;
    margin: 0;
    object-fit: contain;
    width: 150px;
}

.module-page-header {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: 96px 1fr 96px;
    min-height: 118px;
    padding: 24px 30px;
}

.module-header-visual {
    align-items: center;
    display: flex;
    justify-content: center;
}

.module-header-copy {
    text-align: center;
}

.consultants-module-header,
.missions-module-header,
.subcontracting-module-header,
.pilotage-module-header,
.mission-common-header.mission-decorated-header,
.prestation-detail-header.prestation-decorated-header,
.page-header.appel-profile-decorated-header,
.page-header.store-decorated-header,
.page-header.account-decorated-header,
.page-header.stac-decorated-header {
    position: relative;
    overflow: hidden;
    border-bottom-color: #4f9fa4;
    background:
        radial-gradient(circle at 92% 20%, rgba(97, 166, 171, 0.2), transparent 28%),
        linear-gradient(135deg, #f7fcfc 0%, #eef8f8 55%, #ffffff 100%);
}

.consultants-module-header::after,
.missions-module-header::after,
.subcontracting-module-header::after,
.pilotage-module-header::after,
.mission-common-header.mission-decorated-header::after,
.prestation-detail-header.prestation-decorated-header::after,
.page-header.appel-profile-decorated-header::after,
.page-header.store-decorated-header::after,
.page-header.account-decorated-header::after,
.page-header.stac-decorated-header::after {
    content: "";
    position: absolute;
    right: -36px;
    bottom: -62px;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(97, 166, 171, 0.2);
    border-radius: 50%;
    pointer-events: none;
}

.consultants-module-header > *,
.missions-module-header > *,
.subcontracting-module-header > *,
.pilotage-module-header > *,
.prestation-detail-header.prestation-decorated-header > *,
.page-header.appel-profile-decorated-header > * {
    position: relative;
    z-index: 1;
}

.mission-common-header.mission-decorated-header > * {
    z-index: 1;
}

.page-header.store-decorated-header > * {
    z-index: 1;
}

.page-header.store-decorated-header > :not(.appstore-subscription-badge) {
    position: relative;
}

.page-header.account-decorated-header > * {
    position: relative;
    z-index: 1;
}

.page-header.stac-decorated-header > * {
    position: relative;
    z-index: 1;
}

.module-insight-ticker {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d8edef;
    border-left: 4px solid #61A6AB;
    border-right: 2px solid #61A6AB;
    border-radius: 10px;
    color: inherit;
    display: flex;
    gap: 12px;
    margin-bottom: 18px;
    overflow: hidden;
    padding: 9px 12px;
    text-decoration: none;
}

.module-insight-ticker-inline {
    border-left-width: 1px;
    flex: 1;
    margin-bottom: 0;
    min-width: 0;
    padding: 8px 10px;
}

.module-insight-label {
    background: #61A6AB;
    border-radius: 999px;
    color: #ffffff;
    flex-shrink: 0;
    font-size: 10px;
    font-weight: 800;
    padding: 6px 10px;
    text-transform: uppercase;
}

.module-insight-track {
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
}

.module-insight-scroll {
    align-items: center;
    animation: dashboardTickerScroll 28s linear infinite;
    display: inline-flex;
    gap: 18px;
    min-width: max-content;
}

.module-insight-scroll strong {
    color: #2f6f3d;
    font-size: 12px;
    font-weight: 900;
}

.module-insight-scroll span {
    position: relative;
}

.module-insight-scroll span::after {
    color: #9bb9bc;
    content: "•";
    font-weight: 800;
    margin-left: 18px;
}

.module-insight-ticker:hover .module-insight-scroll {
    animation-play-state: paused;
}

.page-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 8px;
}

.page-subtitle {
    font-size: 14px;
    color: #555555;
}

.page-content {
    padding: 35px;
}

.form-section-title {
    font-size: 16px;
    font-weight: bold;
    color: #61A6AB;
    margin-bottom: 12px;
}

.type-choice-wrapper {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.type-choice {
    flex: 1;
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    background: #fafafa;
    padding: 16px;
    cursor: pointer;
    border-radius: 6px;
    box-sizing: border-box;
}

.type-choice:hover {
    background: #EAF4F5;
}

.type-choice input {
    margin-right: 8px;
}

.type-choice-title {
    font-weight: bold;
    font-size: 14px;
}

.type-choice-title-muted {
    color: #777777;
    font-size: 12px;
    font-weight: 500;
}

.type-choice-text {
    color: #666666;
    font-size: 12px;
    margin-top: 5px;
}

.upload-box {
    display: block;
    box-sizing: border-box;
    width: 100%;
    border: 2px dashed #61A6AB;
    background: #f8fbfb;
    border-radius: 10px;
    padding: 45px 25px;
    text-align: center;
    cursor: pointer;
    transition: 0.2s;
}

.upload-box:hover,
.upload-box.dragover {
    background: #EAF4F5;
}

.upload-title {
    font-size: 18px;
    font-weight: bold;
    color: #61A6AB;
    margin-bottom: 8px;
}

.upload-text {
    color: #555555;
    margin-bottom: 18px;
}

.upload-button {
    display: inline-block;
    background: #61A6AB;
    color: #ffffff;
    padding: 10px 18px;
    border-radius: 6px;
    font-weight: bold;
}

.file-name {
    margin-top: 18px;
    color: #333333;
    font-weight: bold;
}

input[type="file"] {
    display: none;
}

.submit-zone {
    text-align: center;
    margin-top: 28px;
}

.submit-button {
    display: inline-block;
    border: none;
    background: #61A6AB;
    color: #ffffff;
    padding: 11px 22px;
    border-radius: 6px;
    font-weight: bold;
    cursor: pointer;
    font-size: 13px;
    text-decoration: none;
    outline: none;
}

.submit-button:hover {
    background: #4f9297;
}

.message {
    margin-bottom: 25px;
    padding: 12px 15px;
    border-radius: 6px;
    text-align: center;
    font-weight: bold;
}

.message.success {
    background: #EAF4F5;
    color: #2f6f73;
    border: 1px solid #61A6AB;
}

.message.error {
    background: #fff0f0;
    color: #b00020;
    border: 1px solid #e0a0a0;
}

.finalisation-duplicate-card {
    margin: 0 0 26px;
    padding: 22px;
    border: 1px solid #e5a457;
    border-left: 6px solid #c2410c;
    border-radius: 12px;
    background: linear-gradient(135deg, #fff1e6 0%, #fff7ed 52%, #fff0f0 100%);
    box-shadow: 0 10px 24px rgba(154, 52, 18, 0.12);
}

.finalisation-duplicate-heading h3 {
    margin: 7px 0 6px;
    color: #243f42;
    font-size: 19px;
}

.finalisation-duplicate-heading p {
    margin: 0;
    color: #754126;
    line-height: 1.5;
}

.finalisation-duplicate-eyebrow {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 999px;
    background: #c2410c;
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.finalisation-duplicate-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 15px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: duplicate-options;
}

.finalisation-duplicate-options.is-edit {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.consultant-finalisation-page .page-content {
    padding-top: 22px;
}

.consultant-finalisation-page > .stepper {
    margin: 22px 0 0;
}

.consultant-finalisation-page .page-content > .process-box:first-of-type {
    margin-top: 0;
}

.finalisation-incomplete-summary {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 20px;
    padding: 13px 15px;
    border: 1px solid #e6a23c;
    border-left: 5px solid #cf7f00;
    border-radius: 8px;
    background: #fff8e8;
    color: #704300;
    line-height: 1.45;
}

.finalisation-incomplete-summary[hidden] {
    display: none;
}

.finalisation-incomplete-summary strong {
    color: #5f3900;
    font-size: 13px;
}

.finalisation-incomplete-summary > span {
    font-size: 12px;
}

.finalisation-required-field label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.finalisation-required-badge,
.finalisation-required-hint {
    display: none;
}

.finalisation-required-field.is-incomplete .finalisation-required-badge {
    display: inline-flex;
    flex-shrink: 0;
    padding: 3px 7px;
    border: 1px solid #dfa044;
    border-radius: 99px;
    background: #fff3d6;
    color: #744600;
    font-size: 9px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.finalisation-required-field.is-incomplete input,
.finalisation-required-field.is-incomplete select {
    border-color: #d88a17;
    background: #fffaf0;
    box-shadow: 0 0 0 2px rgba(216, 138, 23, 0.1);
}

.finalisation-required-field.is-incomplete input:focus,
.finalisation-required-field.is-incomplete select:focus {
    border-color: #bd7000;
    box-shadow: 0 0 0 3px rgba(216, 138, 23, 0.2);
}

.finalisation-required-field.is-incomplete .finalisation-required-hint {
    display: block;
    margin-top: 6px;
    color: #875300;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
}

.finalisation-duplicate-options li {
    position: relative;
    min-width: 0;
    padding: 13px 13px 13px 46px;
    border: 1px solid rgba(194, 65, 12, 0.24);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.78);
    counter-increment: duplicate-options;
}

.finalisation-duplicate-options li::before {
    content: counter(duplicate-options);
    position: absolute;
    top: 13px;
    left: 13px;
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 50%;
    background: #c2410c;
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
}

.finalisation-duplicate-options strong,
.finalisation-duplicate-options span {
    display: block;
}

.finalisation-duplicate-options strong {
    color: #5e2d18;
    font-size: 13px;
}

.finalisation-duplicate-options span {
    margin-top: 4px;
    color: #7b5745;
    font-size: 12px;
    line-height: 1.4;
}

.finalisation-duplicate-details {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(130px, 0.55fr);
    gap: 12px;
    margin-top: 18px;
}

.finalisation-duplicate-details > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 13px 15px;
    border: 1px solid #dbe7e8;
    border-radius: 9px;
    background: #ffffff;
}

.finalisation-duplicate-details span {
    margin-bottom: 5px;
    color: #738689;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.finalisation-duplicate-details strong {
    overflow-wrap: anywhere;
    color: #263f42;
}

.finalisation-duplicate-details small {
    margin-top: 4px;
    color: #607477;
}

.finalisation-duplicate-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.finalisation-duplicate-actions form {
    margin: 0;
}

.consultant-history-box {
    scroll-margin-top: 24px;
}

.upload-result {
    text-align: center;
    margin-top: 15px;
    font-size: 13px;
}

.upload-result a {
    color: #61A6AB;
    font-weight: bold;
    text-decoration: none;
}

.upload-result a:hover {
    text-decoration: underline;
}

.help-text {
    margin-top: 25px;
    color: #777777;
    font-size: 12px;
    text-align: center;
}

.freelance-platform-notice {
    width: min(600px, 100%);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 auto 20px;
    padding: 14px 16px;
    border: 1px solid #c7e1e3;
    border-left: 4px solid #61a6ab;
    border-radius: 11px;
    background: linear-gradient(135deg, #f4f8ef 0%, #ffffff 100%);
    box-shadow: 0 7px 18px rgba(56, 112, 116, 0.08);
    color: #617477;
    font-size: 11px;
    line-height: 1.45;
}

.freelance-platform-notice > div {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.freelance-platform-notice strong {
    color: #2f7479;
    font-size: 12px;
}

.freelance-platform-notice a {
    flex: 0 0 auto;
    padding: 9px 13px;
    border-radius: 6px;
    background: #61a6ab;
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
    transition: background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.freelance-platform-notice a:hover,
.freelance-platform-notice a:focus-visible {
    background: #4f9297;
    box-shadow: 0 5px 12px rgba(56, 112, 116, 0.2);
    transform: translateY(-1px);
    outline: none;
}

@media (max-width: 640px) {
    .freelance-platform-notice {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    .freelance-platform-notice a {
        align-self: flex-start;
    }
}

.type-choice {
    position: relative;
    flex: 1;
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    background: #fafafa;
    padding: 16px;
    cursor: pointer;
    border-radius: 6px;
    box-sizing: border-box;
    transition: 0.2s;
}

.type-choice:hover {
    background: #EAF4F5;
}

/* ÉTAT SÉLECTIONNÉ */
.type-choice.selected {
    background: #EAF4F5;
    border: 2px solid #61A6AB;
}

/* petit check visuel */
.type-choice.selected::after {
    content: "✓";
    position: absolute;
    top: 10px;
    right: 12px;
    font-weight: bold;
    color: #61A6AB;
    font-size: 16px;
}

.type-choice input {
    display: none;
}

@keyframes selectBounce {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.03); }
    100% { transform: scale(1); }
}

.type-choice.selected {
    background: #EAF4F5;
    border: 2px solid #61A6AB;
    animation: selectBounce 0.25s ease;
}

.type-choice.selected {
    background: #EAF4F5;
    border: 2px solid #61A6AB;
    animation: selectBounce 0.25s ease;
    box-shadow: 0 4px 12px rgba(97,166,171,0.25);
}

.type-choice {
    transition: all 0.2s ease;
}

.process-box {
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    background: #fafafa;
    padding: 18px;
    border-radius: 6px;
    margin-top: 20px;
}

.process-title {
    font-weight: bold;
    font-size: 15px;
    margin-bottom: 10px;
    color: #61A6AB;
}

.process-line {
    padding: 5px 0;
    color: #444444;
}

.submit-button {
    border: none;
    background: #61A6AB;
    color: #ffffff;
    padding: 11px 22px;
    border-radius: 6px;
    font-weight: bold;
    cursor: pointer;
    font-size: 13px;
    text-decoration: none;
    outline: none;
}

.submit-button:focus,
.submit-button:active {
    outline: none;
    box-shadow: none;
    background: #61A6AB;
}

.submit-button mark {
    background: transparent !important;
    padding: 0 !important;
}

.stepper {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px 0 10px;
}

.step {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 120px;
}

.step-number {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #dddddd;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-bottom: 6px;
}

.step-label {
    font-size: 12px;
    color: #777777;
    text-align: center;
}

/* Ligne entre étapes */
.step-line {
    width: 60px;
    height: 2px;
    background: #dddddd;
}

/* Étape en cours */
.step.active .step-number {
    background: #ffffff;
    border: 2px solid #61A6AB;
    color: #61A6AB;
}

.step.active .step-label {
    color: #61A6AB;
    font-weight: bold;
}

/* Étape terminée */
.step.done .step-number {
    background: #61A6AB;
    color: #ffffff;
}

.step.done .step-label {
    color: #61A6AB;
    font-weight: bold;
}

.step.done .step-number {
    font-size: 0;
}

.step.done .step-number::after {
    content: "✓";
    font-size: 15px;
}

/* Étape validée */
.step.done .step-number {
    background: #61A6AB;
}

.step.done .step-number::after {
    content: "✓";
}

.submit-help {
    font-size: 12px;
    color: #777777;
    margin-top: 12px;
}

.process-line {
    padding: 6px 10px;
    border-radius: 4px;
    margin-bottom: 4px;
}

/* Terminé */
.process-line.done {
    background: #EAF4F5;
    color: #2f6f73;
    font-weight: bold;
}

/* En cours */
.process-line.active {
    background: #f0f7f8;
    border-left: 3px solid #61A6AB;
    color: #2f6f73;
}

/* À venir */
.process-line.pending {
    color: #999;
}

.spinner {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid #61A6AB;
    border-top: 2px solid transparent;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    margin-right: 6px;
}

.create-consultant-submit-spinner.spinner {
    display: none;
    width: 12px;
    height: 12px;
    margin: 0 8px 0 0;
    border-color: rgba(255, 255, 255, 0.55);
    border-top-color: #ffffff;
    vertical-align: -2px;
}

.create-consultant-submit.is-loading {
    cursor: wait;
    opacity: 0.86;
}

.create-consultant-submit.is-loading .create-consultant-submit-spinner {
    display: inline-block;
}

.consultant-cv-submit-spinner.spinner {
    display: none;
    width: 12px;
    height: 12px;
    margin: 0 8px 0 0;
    border-color: rgba(255, 255, 255, 0.55);
    border-top-color: #ffffff;
    vertical-align: -2px;
}

.consultant-cv-submit {
    white-space: nowrap;
}

.consultant-cv-submit.is-loading {
    cursor: wait;
    opacity: 0.86;
}

.consultant-cv-submit.is-loading .consultant-cv-submit-spinner {
    display: inline-block;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.form-field {
    display: flex;
    flex-direction: column;
}

.form-field-full {
    grid-column: 1 / -1;
}

.form-field label {
    font-weight: bold;
    margin-bottom: 6px;
    color: #333333;
}

.form-field input {
    border: 1px solid #dddddd;
    border-radius: 6px;
    padding: 11px 12px;
    font-size: 13px;
    font-family: Arial, sans-serif;
}

.form-field input:focus {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 2px rgba(97,166,171,0.15);
}

.form-field input:disabled,
.form-field input[readonly] {
    background: #f3f5f6;
    color: #7a8588;
    cursor: not-allowed;
}

.submit-zone.spaced {
    margin-bottom: 20px;
}

.sa-menu {
    width: 900px;
    margin: 25px auto -20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #ffffff;
    border: 1px solid #dddddd;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    padding: 12px 18px;
    box-sizing: border-box;
}

.sa-menu-left,
.sa-menu-right {
    display: flex;
    align-items: center;
    gap: 14px;
}

.sa-menu-logo {
    font-weight: bold;
    color: #61A6AB;
    margin-right: 8px;
}

.sa-menu-link {
    color: #444444;
    text-decoration: none;
    font-weight: bold;
    font-size: 12px;
}

.sa-menu-link:hover,
.sa-menu-link.active {
    color: #61A6AB;
}

.sa-menu-user {
    font-size: 12px;
    color: #666666;
}

.sa-menu-logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    color: #c76a74;
    text-decoration: none;
    font-weight: bold;
    font-size: 12px;
    transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.sa-menu-logout:hover {
    background: #fff0f2;
    color: #b00020;
    transform: translateY(-1px);
}

.submit-button.secondary {
    background: #dddddd;
    color: #333;
}

.submit-button.secondary:hover {
    background: #cccccc;
}

.submit-button-disabled,
.submit-button-disabled:hover {
    background: #dddddd;
    color: #777777;
    cursor: not-allowed;
    opacity: 0.72;
}

.form-field select {
    border: 1px solid #dddddd;
    border-radius: 6px;
    padding: 11px 12px;
    font-size: 13px;
    font-family: Arial, sans-serif;
    background: #ffffff;
}

.form-field select:focus {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 2px rgba(97,166,171,0.15);
}

.table-wrapper {
    overflow-x: auto;
}

.sa-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.sa-table th {
    background: #EAF4F5;
    color: #2f6f73;
    text-align: left;
    padding: 10px;
    border-bottom: 1px solid #dddddd;
}

.sa-table td {
    padding: 10px;
    border-bottom: 1px solid #eeeeee;
    vertical-align: top;
}

.sa-table tr:hover {
    background: #f8fbfb;
}

.muted-text {
    color: #888888;
    font-size: 11px;
}

.table-actions a {
    color: #61A6AB;
    font-weight: bold;
    text-decoration: none;
}

.table-actions a:hover {
    text-decoration: underline;
}

.status-badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 99px;
    font-size: 11px;
    font-weight: bold;
}

.status-badge.success {
    background: #EAF4F5;
    color: #2f6f73;
    border: 1px solid #61A6AB;
}

.status-badge.pending {
    background: #f5f5f5;
    color: #777777;
    border: 1px solid #dddddd;
}

.consultant-card-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.consultant-card {
    background: #ffffff;
    border: 1px solid #dddddd;
    border-left: 0;
    border-radius: 8px;
    padding: 14px 16px;
    transition: all 0.15s ease;
    display: flex;
    flex-direction: column;
}

.consultant-card-link {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.consultant-card:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    transform: translateY(-1px);
}

.consultant-card-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
}

.consultant-name {
    font-size: 16px;
    font-weight: bold;
    color: #222222;
}

.consultant-job {
    margin-top: 4px;
    font-size: 13px;
    color: #555555;
}

.consultant-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.consultant-meta span {
    background: #f5f7f8;
    border: 1px solid #eeeeee;
    color: #555555;
    border-radius: 99px;
    padding: 5px 10px;
    font-size: 11px;
}

.consultant-actions {
    display: flex;
    gap: 8px;
    margin-top: 16px;
}

.mini-button {
    display: inline-block;
    background: #61A6AB;
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    font-size: 12px;
    padding: 7px 12px;
    border-radius: 6px;
    transition: all 0.15s ease;
}

.mini-button:hover {
    background: #4f9297;
    transform: translateY(-1px);
}

.mini-button.secondary {
    background: #eeeeee;
    color: #333333;
}

.mini-button.secondary:hover {
    background: #dddddd;
}

.mini-button.danger,
button.mini-button.danger {
    background: #b00020;
    color: #ffffff;
}

.mini-button.danger:hover,
button.mini-button.danger:hover {
    background: #8f001a;
}

.type-badge {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 99px;
    font-size: 11px;
    font-weight: bold;
    white-space: nowrap;
    font-weight: 600;
}

.type-badge.interne {
    background: #EAF4F5;
    color: #2f6f73;
    border: 1px solid #61A6AB;
}

.type-badge.freelance {
    background: #fff7e8;
    color: #8a5a00;
    border: 1px solid #e0b45c;
}

.meta-location {
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.consultant-added-by {
    margin-top: 8px;
    font-size: 11px;
    color: #999;
}

.type-badge.unknown {
    background: #f5f5f5;
    color: #777777;
    border: 1px solid #dddddd;
}

.consultant-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 16px;
}

.consultant-actions {
    display: flex;
    gap: 8px;
    margin-top: 0;
}

.consultant-added-by {
    margin-top: 0;
    font-size: 11px;
    color: #888888;
    text-align: right;
}

.process-title-with-count {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.count-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 99px;
    background: #f1f3f4;
    color: #555;
    border: 1px solid #dddddd;
    font-size: 11px;
    font-weight: bold;
}

.header-with-count {
    position: relative;
    text-align: center;
    display: block;
}

.header-with-count .count-badge {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
}

.sa-footer {
    width: 900px;
    margin: 18px auto 35px;
    padding: 22px 26px 16px;
    box-sizing: border-box;
    color: #626f72;
    font-size: 13px;
    background: #ffffff;
    border: 1px solid #e0edef;
    box-shadow: 0 2px 10px rgba(30, 60, 65, 0.06);
}

.sa-footer-main {
    display: grid;
    grid-template-columns: minmax(260px, 1.7fr) repeat(3, minmax(140px, 1fr));
    gap: 26px;
    align-items: start;
}

.sa-footer-brand-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #1f3336;
    text-decoration: none;
}

.sa-footer-logo {
    width: 42px;
    height: 42px;
    object-fit: contain;
    flex: 0 0 auto;
}

.sa-footer-brand-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sa-footer-brand-title {
    color: #1f3336;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.1;
    text-transform: uppercase;
}

.sa-footer-brand-tagline {
    color: #5f8f94;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
}

.sa-footer-brand-note {
    margin-top: 12px;
    max-width: 390px;
    color: #6f7a7d;
    font-size: 12px;
    line-height: 1.55;
}

.sa-footer-column {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.sa-footer-title {
    margin-bottom: 2px;
    color: #24383b;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.sa-footer-link {
    color: #5f8f94;
    text-decoration: none;
    font-weight: 700;
    line-height: 1.25;
}

.sa-footer-link:hover {
    color: #477a7f;
    text-decoration: underline;
}

.sa-footer-muted {
    color: #6f7a7d;
    line-height: 1.35;
}

.sa-footer-bottom {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #e8f2f3;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    color: #879093;
    font-size: 11px;
    line-height: 1.4;
}

@media (max-width: 860px) {
    .sa-footer-main {
        grid-template-columns: 1fr 1fr;
    }

    .sa-footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    .sa-footer {
        width: calc(100% - 24px);
        padding: 20px 18px 15px;
    }

    .sa-footer-main {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .sa-footer-bottom {
        flex-direction: column;
    }
}

.legal-page-content .legal-section {
    margin: 0 0 28px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.legal-page-content .legal-section .feature-detail-description {
    text-align: justify;
}

.legal-page-content .feature-detail-description a,
.legal-page-content .message a {
    color: #61A6AB;
    font-weight: 700;
    text-decoration: none;
}

.legal-page-content .feature-detail-description a:hover,
.legal-page-content .message a:hover {
    color: #4c8f94;
    text-decoration: underline;
}

.profile-header {
    position: relative;
    text-align: center;
}

.profile-header .type-badge {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.profile-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.profile-kpi {
    background: #ffffff;
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
    padding: 14px;
}

.profile-kpi-action {
    width: 100%;
    text-align: left;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.profile-kpi-action:hover {
    border-color: #61A6AB;
    box-shadow: 0 8px 22px rgba(97, 166, 171, 0.16);
    transform: translateY(-1px);
}

.profile-kpi-availability {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #f1fafb 0%, #e2f3f4 100%);
    border-color: rgba(97, 166, 171, 0.55);
    border-left-width: 5px;
    box-shadow: 0 6px 16px rgba(60, 112, 116, 0.10);
}

.profile-kpi-availability::after {
    content: "";
    position: absolute;
    width: 70px;
    height: 70px;
    right: -30px;
    top: -38px;
    border-radius: 50%;
    background: rgba(97, 166, 171, 0.12);
    pointer-events: none;
}

.profile-kpi-availability .profile-kpi-label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #397b80;
    font-weight: 700;
}

.profile-kpi-edit-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #61a6ab;
    color: #ffffff;
    font-size: 12px;
    line-height: 1;
    box-shadow: 0 3px 8px rgba(60, 112, 116, 0.22);
}

.profile-kpi-availability:hover,
.profile-kpi-availability:focus-visible {
    background: linear-gradient(135deg, #e8f7f8 0%, #d4edef 100%);
    border-color: #4f969b;
    box-shadow: 0 10px 26px rgba(60, 112, 116, 0.20);
    transform: translateY(-2px);
    outline: none;
}

.profile-kpi-availability:hover .profile-kpi-edit-icon,
.profile-kpi-availability:focus-visible .profile-kpi-edit-icon {
    transform: rotate(-8deg) scale(1.06);
}

.profile-kpi-edit-icon {
    transition: transform 180ms ease;
}

.profile-kpi-label {
    font-size: 11px;
    color: #888888;
    margin-bottom: 6px;
}

.profile-kpi-value {
    font-size: 14px;
    font-weight: bold;
    color: #222222;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.profile-kpi-subvalue {
    margin-top: 4px;
    font-size: 11px;
    font-weight: 600;
    color: #6a8f93;
    text-align: center;
}

.detail-actions {
    text-align: center;
    margin: 24px 0 12px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
    flex-wrap: nowrap;
}

.detail-actions .submit-button {
    font-size: 12px;
    padding: 10px 12px;
    white-space: nowrap;
    min-width: auto;
    line-height: 1.2;
}

.consultant-cv-disabled-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.consultant-cv-disabled-action .submit-button-disabled {
    position: relative;
}

.consultant-cv-disabled-action .submit-button-disabled::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    z-index: 20;
    width: 240px;
    max-width: calc(100vw - 32px);
    max-width: 240px;
    padding: 8px 10px;
    border: 1px solid #c7d8da;
    border-radius: 7px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(18, 46, 49, .18);
    color: #2f5558;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 4px);
    transition: opacity .16s ease, transform .16s ease;
}

.consultant-cv-disabled-action .submit-button-disabled:hover::after,
.consultant-cv-disabled-action .submit-button-disabled:focus-visible::after {
    opacity: 1;
    transform: translate(-50%, 0);
}

.consultant-cv-disabled-note {
    max-width: 180px;
    color: #7c8b8d;
    font-size: 10px;
    line-height: 1.25;
    text-align: center;
}

.profile-action-pdf {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.detail-grid {
	margin-top: 8px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 18px;
}

.detail-main,
.detail-side {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.mission-positioned-action-row {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 18px;
    margin: 0 0 18px;
}

.mission-positioned-action-button {
    grid-column: 2;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    text-align: center;
}

.mission-detail-return-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.mission-positioned-inline-action {
    flex: 0 0 auto;
    margin-left: auto;
    text-align: center;
}

.back-link a.mission-positioned-inline-action,
.back-link a.mission-positioned-inline-action:focus,
.back-link a.mission-positioned-inline-action:active {
    color: #ffffff;
    text-decoration: none;
}

.back-link a.mission-positioned-inline-action:hover {
    background: #4f9297;
    color: #ffffff;
    text-decoration: none;
}

.mission-multi-positioned-callout {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 20px 22px;
    border: 1px solid rgba(74, 168, 107, .34);
    border-left: 5px solid #4aa86b;
    border-radius: 14px;
    background:
        radial-gradient(circle at 100% 0%, rgba(99, 175, 180, .16), transparent 38%),
        linear-gradient(135deg, #f2fbf5 0%, #ffffff 72%);
    box-shadow: 0 10px 28px rgba(50, 115, 76, .11);
}

.mission-multi-positioned-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #4aa86b, #63afb4);
    color: #fff;
    font-size: 25px;
    font-weight: 900;
    box-shadow: 0 7px 18px rgba(74, 168, 107, .24);
}

.mission-multi-positioned-content {
    min-width: 0;
}

.mission-multi-positioned-content > span {
    display: block;
    margin-bottom: 4px;
    color: #3d9760;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mission-multi-positioned-content strong {
    display: block;
    color: #274b34;
    font-size: 17px;
    line-height: 1.3;
}

.mission-multi-positioned-content p {
    margin: 5px 0 0;
    color: #61736a;
    font-size: 12px;
    line-height: 1.45;
}

.mission-multi-positioned-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 260px;
    margin: 0;
    box-sizing: border-box;
    text-align: center;
    white-space: nowrap;
}

.mission-multi-positioned-link span {
    font-size: 16px;
    transition: transform .18s ease;
}

.mission-multi-positioned-link:hover span,
.mission-multi-positioned-link:focus span {
    transform: translateX(3px);
}

@media (max-width: 760px) {
    .mission-positioned-action-row {
        display: block;
    }

    .mission-positioned-action-button {
        width: 100%;
    }
}

.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.tag-list span {
    background: #f5f7f8;
    border: 1px solid #eeeeee;
    color: #555555;
    border-radius: 99px;
    padding: 5px 10px;
    font-size: 11px;
}

.tag-list.small span {
    font-size: 10px;
    padding: 4px 8px;
}

.consultant-expertise-link {
    display: inline-flex;
    color: inherit;
    text-decoration: none;
    border-radius: 99px;
    outline: none;
}

.consultant-expertise-link span {
    cursor: pointer;
    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.consultant-expertise-link:hover span,
.consultant-expertise-link:focus-visible span {
    transform: translateY(-2px);
    background: #eaf7f8;
    border-color: #61a6ab;
    color: #397b80;
    box-shadow: 0 6px 14px rgba(60, 112, 116, 0.18);
}

.consultant-expertise-link:active span {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(60, 112, 116, 0.14);
}

.timeline {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.timeline-item {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    padding: 14px;
}

.timeline-date {
    font-size: 11px;
    color: #888888;
    margin-bottom: 5px;
}

.timeline-title {
    font-weight: bold;
    color: #222222;
    margin-bottom: 8px;
}

.timeline-text {
    color: #555555;
    font-size: 12px;
    margin-bottom: 10px;
}

.info-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.info-list div {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 6px;
    padding: 10px;
}

.info-list span {
    display: block;
    font-size: 11px;
    color: #888888;
    margin-bottom: 4px;
}

.info-list strong {
    font-size: 12px;
    color: #333333;
}

.detail-line {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 8px;
}

.detail-line span {
    color: #666666;
    font-size: 12px;
}

.availability-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}

/* Disponible ASAP → couleur principale */
.availability-badge.available {
    background: #61A6AB;
    color: #ffffff;
    border: 1px solid #61A6AB;
    box-shadow: 0 2px 6px rgba(97,166,171,0.25);
}

/* Disponible à date → couleur orange plus assumée */
.availability-badge.planned {
    background: #fff4e0;
    color: #a66b00;
    border: 1px solid #e0b45c;
}

/* Non dispo → neutre */
.availability-badge.unavailable {
    background: #f5f5f5;
    color: #777777;
    border: 1px solid #dddddd;
}

.internal-note {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 6px;
    padding: 12px;
    color: #555555;
    font-size: 12px;
    line-height: 1.6;
}

.back-link {
    margin-bottom: 18px;
    font-size: 12px;
}

.back-link a {
    color: #61A6AB;
    text-decoration: none;
    font-weight: bold;
}

.back-link a:hover {
    text-decoration: underline;
}

.note-textarea {
    width: 100%;
    min-height: 120px;
    resize: vertical;
    border: 1px solid #dddddd;
    border-radius: 6px;
    padding: 12px;
    font-size: 13px;
    font-family: Arial, sans-serif;
    box-sizing: border-box;
    line-height: 1.5;
    background: #ffffff;
}

.note-textarea:focus {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 2px rgba(97,166,171,0.15);
}

.consultant-card-list {
    gap: 10px;
}

.consultant-card-main {
    align-items: center;
}

.consultant-meta {
    margin-top: 10px;
}

.consultant-footer {
    margin-top: 12px;
}

.note-indicator {
    margin-left: 6px;
    font-size: 13px;
    vertical-align: middle;
}

.pagination {
    margin-top: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    font-size: 12px;
}

.pagination a {
    background: #61A6AB;
    color: #ffffff;
    padding: 7px 12px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: bold;
}

.pagination a:hover {
    background: #4f9297;
}

.pagination span {
    color: #666666;
    font-weight: bold;
}

.mes-missions-pagination-top {
    margin-bottom: 18px;
}

.mes-missions-pagination-bottom {
    margin-top: 22px;
}

.results-pagination-top {
    margin-bottom: 18px;
}

.results-pagination-top > a,
.results-pagination-top > span {
    flex: 0 0 auto;
    white-space: nowrap;
}

.results-pagination-bottom {
    margin-top: 22px;
}

.result-limit-form select {
    border: 1px solid #dddddd;
    border-radius: 99px;
    padding: 5px 10px;
    font-size: 11px;
    background: #ffffff;
    color: #555555;
}

.results-toolbar-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    flex-wrap: wrap;
    margin-left: auto;
}

.results-filter-form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    flex-wrap: wrap;
    margin: 0;
}

.results-filter-form input[type="text"],
.results-filter-form input[type="date"],
.results-filter-form select {
    width: auto;
    max-width: 210px;
    min-height: 32px;
    box-sizing: border-box;
    border: 1px solid #d7e1e2;
    border-radius: 99px;
    padding: 6px 11px;
    background: #ffffff;
    color: #49696c;
    font-family: Arial, sans-serif;
    font-size: 11px;
    line-height: 1.2;
}

.results-filter-form input[type="text"] {
    min-width: 175px;
}

.results-filter-form input:focus,
.results-filter-form select:focus {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 3px rgba(97, 166, 171, .14);
}

.results-filter-form .mini-button {
    min-height: 32px;
    box-sizing: border-box;
    border: 1px solid transparent;
    padding: 7px 11px;
    font-family: Arial, sans-serif;
    cursor: pointer;
}

.results-filter-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    box-sizing: border-box;
}

.results-toolbar-controls .result-limit-form {
    margin: 0;
}

.results-toolbar-controls .result-limit-form select {
    min-height: 32px;
    border-color: #d7e1e2;
    color: #49696c;
}

.process-title-with-count:has(.results-toolbar-controls),
.recherche-results-toolbar {
    flex-wrap: wrap;
}

.recherche-results-toolbar-right {
    flex: 1 1 auto;
    justify-content: flex-end;
}

.submit-button.danger {
    background: #b00020;
    color: #ffffff;
}

.submit-button.danger:hover {
    background: #8f001a;
}

.json-textarea {
    width: 100%;
    min-height: 520px;
    resize: vertical;
    border: 1px solid #dddddd;
    border-radius: 6px;
    padding: 14px;
    font-size: 12px;
    font-family: Monaco, Consolas, monospace;
    box-sizing: border-box;
    line-height: 1.5;
    background: #ffffff;
    color: #222222;
}

.json-textarea:focus {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 2px rgba(97,166,171,0.15);
}

.edit-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-left: 5px solid #2c7a7b;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 24px;
}

.edit-card-title {
    font-size: 17px;
    font-weight: 700;
    color: #2c7a7b;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.note-textarea.small {
    min-height: 70px;
}

.note-textarea.medium {
    min-height: 130px;
}

.repeat-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.add-row-button {
    display: inline-block;
    background: #EAF4F5;
    color: #2f6f73;
    border: 1px solid #61A6AB;
    padding: 8px 12px;
    border-radius: 6px;
    font-weight: bold;
    cursor: pointer;
    font-size: 12px;
    margin-top: 10px;
}

.add-row-button:hover {
    background: #dceff0;
}

.remove-row-button {
    background: #fff5f5;
    border: 1px solid #f0b3b3;
    color: #b00020;
    padding: 7px 14px;
    font-size: 12px;
}

.remove-row-button:hover {
    background: #ffe5e5;
}

.dynamic-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.remove-row-zone {
    text-align: center;
    margin-top: 18px;
}

.profile-edit-highlight {
    display: inline-block;
    margin-top: 10px;
    padding: 8px 16px;
    border-radius: 99px;
    background: #EAF4F5;
    color: #2f6f73;
    border: 1px solid #61A6AB;
    font-weight: bold;
    font-size: 14px;
}

.rich-editor {
    width: 100%;
}

.editor-toolbar {
    display: flex;
    gap: 6px;
    margin-bottom: 6px;
}

.editor-toolbar button {
    background: #f5f7f8;
    border: 1px solid #dddddd;
    border-radius: 4px;
    padding: 5px 9px;
    cursor: pointer;
    font-size: 12px;
    font-weight: bold;
}

.editor-toolbar button:hover {
    background: #EAF4F5;
}

mark {
    background: rgba(97,166,171,0.25);
    color: #2f6f73;
    padding: 1px 3px;
    border-radius: 3px;
}

.dynamic-list .edit-card {
    margin-bottom: 30px;
}

.dynamic-list .edit-card:nth-child(even) {
    background: #f9fbfb;
}

.dynamic-list .edit-card {
    position: relative;
    padding-top: 26px;
}

.dynamic-list .edit-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: #61A6AB;
    border-radius: 10px 10px 0 0;
}

.cv-editor-page .edit-card-title::before {
    content: none;
}

.cv-editor-page .process-box {
    background: #ffffff;
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
    padding: 25px;
    margin-bottom: 40px;
    position: relative;
}

.cv-editor-page .process-title {
    font-size: 18px;
    font-weight: 800;
    color: #61A6AB;
    margin-bottom: 20px;
}

.cv-editor-page .process-box + .process-box {
    margin-top: 50px;
}

.cv-editor-page .process-box::before {
    content: none;
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #e5e7eb;
}

.cv-editor-page .dynamic-list {
    gap: 20px;
}

.consultant-success-box {
    margin-top: 24px;
}

.consultant-success-content {
    text-align: center;
    line-height: 1.6;
}

.consultant-success-name {
    display: table;
    margin: 0 auto 14px;
    padding: 8px 22px;
    border: 1px solid rgba(87, 169, 176, 0.42);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(87, 169, 176, 0.14), rgba(87, 169, 176, 0.05));
    box-shadow: 0 5px 14px rgba(40, 95, 100, 0.08);
    color: #285f64;
    font-size: 20px;
    font-weight: 750;
    line-height: 1.25;
    letter-spacing: 0.01em;
}

.consultant-success-note {
    margin-top: 8px;
    color: #444444;
}

.consultant-success-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.disabled-button {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
}

.pdf-hint {
    margin-top: 6px;
    font-size: 10px;
    line-height: 1.25;
    color: #888888;
    max-width: 130px;
    text-align: center;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.feature-card {
    min-height: 145px;
    display: flex;
    flex-direction: column;
}

.feature-card:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    transform: translateY(-1px);
}

.feature-card.active {
    border: 2px solid #61A6AB;
    background: #EAF4F5;
    box-shadow: 0 6px 18px rgba(97,166,171,0.28);
}

.feature-card.active .feature-title {
    color: #222222;
}

.feature-card-top {
    align-items: flex-start;
}

.feature-category {
    font-size: 11px;
    color: #888888;
    align-self: center;
}

.feature-title {
    font-size: 15px;
    font-weight: bold;
    color: #222222;
    line-height: 1.3;
}

.feature-price.top {
    margin-top: 0;
    text-align: right;
    white-space: nowrap;
    font-size: 13px;
    font-weight: bold;
    color: #2f6f73;
}

.feature-active-label {
    display: inline-block;
    margin-top: 5px;
    padding: 3px 7px;
    border-radius: 99px;
    background: #61A6AB;
    color: #ffffff;
    font-size: 10px;
    font-weight: bold;
}

.feature-required-label {
    margin-top: 3px;
    font-size: 10px;
    color: #8a5a00;
    font-weight: normal;
}

.feature-price-badge {
    display: inline-block;
    padding: 5px 9px;
    border-radius: 99px;
    background: #EAF4F5;
    color: #2f6f73;
    border: 1px solid #61A6AB;
    font-size: 11px;
    font-weight: bold;
    white-space: nowrap;
}

.feature-description {
    margin-bottom: 14px;
}

.feature-price {
    margin-top: 12px;
    font-weight: bold;
    color: #2f6f73;
}

.feature-status {
    display: inline-block;
    border-radius: 99px;
    padding: 4px 8px;
    background: #f5f5f5;
    color: #777777;
    border: 1px solid #dddddd;
    font-size: 10px;
    font-weight: bold;
    white-space: nowrap;
}

.feature-status.active {
    background: #EAF4F5;
    color: #2f6f73;
    border-color: #61A6AB;
}

.feature-status.locked {
    background: #fff7e8;
    color: #8a5a00;
    border-color: #e0b45c;
}

.feature-requirement {
    margin-top: 8px;
    font-size: 11px;
    color: #8a5a00;
}

.feature-actions {
    margin-top: auto;
}

.feature-buttons {
    display: flex;
    gap: 8px;
}

.appstore-subscription-badge {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 999px;
    padding: 9px 16px;
    text-align: center;
    min-width: 135px;
    border: 1px solid #dddddd;
    background: #f5f7f8;
    text-decoration: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.appstore-subscription-badge:hover,
.appstore-subscription-badge:focus-visible {
    border-color: #61A6AB;
    box-shadow: 0 4px 12px rgba(47, 111, 115, 0.14);
    outline: none;
    transform: translateY(calc(-50% - 1px));
}

.appstore-subscription-badge.free {
    background: #f5f7f8;
    color: #555555;
}

.appstore-subscription-badge.active {
    background: #EAF4F5;
    color: #2f6f73;
    border-color: #61A6AB;
}

.appstore-subscription-label {
    font-size: 10px;
    color: #777777;
    line-height: 1.1;
    margin-bottom: 2px;
}

.appstore-subscription-value {
    font-size: 13px;
    font-weight: bold;
    line-height: 1.2;
}

.feature-detail-layout {
	display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 18px;
    align-items: stretch;
}

.feature-detail-main,
.feature-detail-side {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.feature-detail-price {
	display: block;
    margin-bottom: 14px;
    padding: 0;
    background: transparent;
    color: inherit;
    border: 0;
    font-weight: normal;
    font-size: inherit;
}

.feature-detail-description {
    color: #444444;
    font-size: 13px;
    line-height: 1.8;
}

.feature-detail-description p {
    margin: 0 0 18px;
}

.feature-detail-description p:last-child {
    margin-bottom: 0;
}

.feature-detail-description a {
    color: #2f7f85;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-color: rgba(47, 127, 133, 0.45);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.16s ease, text-decoration-color 0.16s ease;
}

.feature-detail-description a:hover,
.feature-detail-description a:focus-visible {
    color: #245f64;
    text-decoration-color: currentColor;
}

.feature-detail-description a:focus-visible {
    border-radius: 3px;
    outline: 2px solid rgba(97, 166, 171, 0.35);
    outline-offset: 2px;
}

.feature-detail-description-highlight {
    padding: 12px 14px;
    border-left: 3px solid #61aeb3;
    border-radius: 6px;
    background: #f1fafb;
    color: #315f63;
}

.feature-screenshot-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 70px;
}

.feature-screenshot {
    position: relative;
    background: #fbfefe;
    border: 1px solid #d8edef;
    border-radius: 8px;
    padding: 12px;
    box-shadow: 0 10px 24px rgba(36, 95, 99, 0.08);
}

.feature-screenshot + .feature-screenshot::before {
    content: "";
    position: absolute;
    top: -18px;
    left: 50%;
    width: 56px;
    height: 3px;
    border-radius: 999px;
    background: #61A6AB;
    transform: translateX(-50%);
}

.feature-screenshot-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    color: #245f63;
}

.feature-screenshot-header span {
    font-weight: 800;
}

.feature-screenshot-header small {
    color: #6f7f82;
    font-size: 12px;
    font-weight: 700;
}

.feature-subscription-status-card,
.feature-included-card {
    display: grid;
    gap: 10px;
    margin-top: 12px;
    margin-bottom: 14px;
    padding: 12px;
    border-radius: 8px;
    text-align: left;
}

.feature-subscription-status-card {
    border: 1px solid #cfe8eb;
    background: #f8fcfc;
}

.feature-subscription-status-card.cancelled {
    border-color: #efd49c;
    background: #fffaf0;
}

.feature-subscription-status-card div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.feature-subscription-status-card span {
    color: #607174;
    font-size: 11px;
    font-weight: 700;
}

.feature-subscription-status-card strong {
    color: #245f63;
    font-size: 12px;
    text-align: right;
}

.feature-subscription-status-card.cancelled strong {
    color: #8a5a00;
}

.feature-included-card {
    border: 1px solid #cfe8eb;
    background: #f8fcfc;
    color: #245f63;
    text-align: center;
}

.feature-included-card strong {
    font-size: 12px;
}

.feature-included-card span {
    color: #607174;
    font-size: 11px;
    line-height: 1.45;
}

.feature-open-application-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid #bfe4e6;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
    background: linear-gradient(135deg, #f7fcfc 0%, #edf8f9 100%);
    color: #245f63;
    text-decoration: none;
    box-shadow: 0 12px 24px rgba(97, 166, 171, 0.12);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.feature-open-application-card:hover {
    transform: translateY(-1px);
    border-color: #61A6AB;
    box-shadow: 0 16px 30px rgba(97, 166, 171, 0.18);
    text-decoration: none;
}

.feature-open-subscriptions-card {
    margin-bottom: 12px;
}

.feature-open-application-card span {
    display: grid;
    gap: 4px;
}

.feature-open-application-card strong {
    color: #245f63;
    font-size: 13px;
    font-weight: 800;
}

.feature-open-application-card small {
    color: #607174;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
}

.feature-open-application-card em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #61A6AB;
    color: #ffffff;
    font-style: normal;
    font-size: 18px;
    font-weight: 900;
}

.feature-screenshot-open {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
}

.feature-screenshot img {
    width: 100%;
    display: block;
    border-radius: 6px;
}

.feature-screenshot-open:hover img,
.feature-screenshot-open:focus-visible img {
    box-shadow: 0 8px 24px rgba(36, 95, 99, 0.16);
}

.feature-subscribe-box {
    text-align: center;
}

.feature-subscribe-box .submit-button {
    margin-top: 16px;
}

.feature-preview-box {
    margin-top: 18px;
}

.feature-detail-main .process-box {
    height: 100%;
}

.feature-detail-side {
    height: 100%;
}

.feature-detail-side .process-box:last-child {
    flex: 1;
}

.appstore-filters {
    margin-bottom: 18px;
    padding: 12px;
    background: #f8fbfb;
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
}

.appstore-filters form {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.appstore-filters select {
    border: 1px solid #dddddd;
    border-radius: 6px;
    padding: 8px 10px;
    font-size: 12px;
    background: #ffffff;
}

.feature-active-label-detail {
    display: block;
    width: fit-content;
    margin: 0 auto 10px;
}

/* =========================
   APP STORE - OVERRIDES SAFE
   ========================= */

.feature-card {
    background: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 10px;
    padding: 16px;
    min-height: 145px;
    display: flex;
    flex-direction: column;
    transition: all 0.15s ease;
}

.feature-card.active {
    border: 2px solid #61A6AB;
    background: #EAF4F5;
    box-shadow: 0 6px 18px rgba(97,166,171,0.28);
}

.feature-card.active .feature-title {
    color: #222222;
}

.feature-card-top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.feature-price-badge {
    display: inline-block;
    padding: 5px 9px;
    border-radius: 99px;
    background: #ffffff;
    color: #2f6f73;
    border: 1px solid #61A6AB;
    font-size: 11px;
    font-weight: bold;
    white-space: nowrap;
}

.feature-card.active .feature-price-badge {
    background: #ffffff;
}

.feature-description {
    margin-top: 12px;
    margin-bottom: 14px;
    color: #555555;
    font-size: 12px;
    min-height: 42px;
}

.feature-actions {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 8px;
}

.feature-category {
    font-size: 11px;
    color: #888888;
    align-self: flex-end;
}

.feature-buttons-zone {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
}

.feature-active-text {
    font-size: 10px;
    color: #2f6f73;
    font-weight: normal;
}

.feature-buttons {
    display: flex;
    gap: 8px;
}

.feature-buttons .mini-button.secondary {
    background: #eeeeee;
    color: #333333;
}

.feature-buttons .mini-button.danger-soft {
    background: #fff0f0;
    color: #b00020;
    border: 1px solid #e0a0a0;
}

.feature-buttons .mini-button.danger-soft:hover {
    background: #ffe0e0;
}

.feature-buttons-zone {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 8px;
}

.feature-toggle-zone {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.feature-active-text {
    text-align: center;
    width: 100%;
}

.feature-toggle-zone .mini-button.danger-soft {
    background: #fff0f0;
    color: #b00020;
    border: 1px solid #e0a0a0;
}

.feature-toggle-zone .mini-button.danger-soft:hover {
    background: #ffe0e0;
    color: #8f001a;
}

.feature-required-name {
    color: #2f6f73;
    font-weight: 600;
}

.feature-card.locked {
    background: #f5f5f5;
    border: 1px solid #dddddd;
    box-shadow: none;
    opacity: 0.92;
}

.feature-card.locked:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.feature-card.locked .feature-title,
.feature-card.locked .feature-description {
    color: #666666;
}

.feature-card.locked .feature-price-badge {
    background: #ffffff;
    color: #777777;
    border-color: #cccccc;
}

.feature-required-name {
    color: #2f6f73;
    font-weight: 700;
    text-decoration: none;
}

.feature-required-name:hover {
    text-decoration: underline;
}

.feature-subscribe-box.active {
    background: #EAF4F5;
    border: 2px solid #61A6AB;
    box-shadow: 0 6px 18px rgba(97,166,171,0.28);
}

.feature-detail-active-text {
    margin-bottom: 8px;
    color: #2f6f73;
    font-size: 11px;
    text-align: center;
}

.feature-subscribe-box .submit-button.danger-soft {
    background: #fff0f0;
    color: #b00020;
    border: 1px solid #e0a0a0;
}

.feature-subscribe-box .submit-button.danger-soft:hover {
    background: #ffe0e0;
    color: #8f001a;
}

.feature-cancelled-text {
    text-align: center;
    color: #8a5a00;
    font-size: 11px;
    line-height: 1.4;
    margin-bottom: 8px;
    font-weight: bold;
}

.feature-cancelled-mini-text {
    font-size: 10px;
    color: #8a5a00;
    text-align: center;
    line-height: 1.3;
    font-weight: normal;
}

.feature-category {
    line-height: 1.35;
}

.feature-category-label {
    display: block;
    color: #999999;
    font-size: 11px;
}

.feature-category-name {
    display: block;
    color: #666666;
    font-size: 11px;
    font-weight: 600;
}

.subscription-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.subscription-kpi {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    padding: 14px;
    text-align: center;
}

.subscription-kpi span {
    display: block;
    font-size: 11px;
    color: #888888;
    margin-bottom: 6px;
}

.subscription-kpi strong {
    font-size: 16px;
    color: #2f6f73;
}

.subscription-kpi small {
    display: block;
    margin-top: 4px;
    color: #777777;
    font-size: 10px;
}

.subscription-note {
    margin-top: 14px;
    padding: 10px 12px;
    background: #EAF4F5;
    border: 1px solid #61A6AB;
    border-radius: 8px;
    color: #2f6f73;
    font-size: 12px;
    text-align: center;
}

.subscription-alert {
    margin-top: 10px;
    padding: 10px 12px;
    background: #fff7f7;
    border: 1px solid #ffd6d6;
    border-left: 4px solid #ff6b6b;
    border-radius: 8px;
    color: #8a1f1f;
    font-size: 12px;
    text-align: center;
}

.subscription-payment-method {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 10px;
    padding: 14px 16px;
    background: #ffffff;
    border: 1px solid #e1e5e5;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
}

.subscription-payment-method > div,
.subscription-row > div:first-child {
    min-width: 0;
}

.subscription-payment-method span,
.subscription-meta-grid span {
    display: block;
    color: #777777;
    font-size: 10px;
}

.subscription-payment-method strong {
    display: block;
    margin-top: 3px;
    color: #222222;
    font-size: 13px;
}

.subscription-payment-method small {
    display: block;
    margin-top: 4px;
    color: #666666;
    font-size: 10px;
}

.customer-portal-form {
    margin-left: auto;
}

.customer-portal-form .mini-button {
    white-space: nowrap;
}

.subscription-payment-route {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 700;
}

.subscription-payment-route.online {
    color: #2f6f73;
    background: #EAF4F5;
    border: 1px solid #61A6AB;
}

.subscription-payment-route.internal {
    color: #2f6f73;
    background: #EAF4F5;
    border: 1px solid #61A6AB;
}

.subscription-invoice {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    overflow: hidden;
}

.subscription-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 16px;
    border-bottom: 1px solid #eeeeee;
    align-items: center;
}

.subscription-row:last-child {
    border-bottom: none;
}

.subscription-name {
    font-weight: bold;
    color: #222222;
    font-size: 13px;
}

.subscription-status {
    margin-top: 4px;
    color: #666666;
    font-size: 11px;
}

.subscription-card-inline-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin-top: 6px;
    color: #617477;
    font-size: 10px;
    line-height: 1.35;
}

.subscription-cancellation-inline {
    color: #806000;
}

.subscription-payment-inline {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    padding: 4px 8px;
    border: 1px solid #dcebea;
    border-radius: 999px;
    background: #f5fbfb;
    white-space: nowrap;
}

.subscription-payment-inline .subscription-payment-separator {
    color: currentColor;
    font-weight: 600;
}

.subscription-payment-inline strong {
    font-size: 10px;
}

.subscription-payment-inline small {
    color: #718486;
    font-size: 9px;
}

.subscription-payment-inline.success {
    color: #2d7358;
    border-color: #b9dfcf;
    background: #f1fbf6;
}

.subscription-payment-inline.pending,
.subscription-payment-inline.warning {
    color: #806000;
    border-color: #ead9a8;
    background: #fffaf0;
}

.subscription-payment-inline.danger {
    color: #965f59;
    border-color: #ebc9c5;
    background: #fff7f6;
}

.subscription-payment-inline.neutral {
    color: #555555;
}

.subscription-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(130px, 1fr));
    gap: 8px;
    margin-top: 9px;
}

.subscription-meta-grid > div {
    padding: 7px 8px;
    background: #f7f9f9;
    border: 1px solid #e8ebeb;
    border-radius: 6px;
}

.subscription-meta-grid strong,
.subscription-meta-grid small {
    display: block;
    margin-top: 2px;
    font-size: 10px;
}

.subscription-meta-grid small {
    color: #777777;
}

.subscription-payment-status.success {
    color: #2d7358;
}

.subscription-payment-status.pending {
    color: #806000;
}

.subscription-payment-status.warning {
    color: #8a5a00;
}

.subscription-payment-status.danger {
    color: #965F59;
}

.subscription-payment-status.neutral {
    color: #555555;
}

.subscription-price {
    font-weight: bold;
    color: #2f6f73;
    white-space: nowrap;
    text-align: right;
}

.subscription-price span,
.subscription-price small {
    display: block;
}

.subscription-price small {
    color: #777777;
    font-size: 10px;
    font-weight: 600;
    margin-top: 2px;
}

.subscription-price.muted {
    color: #999999;
}

.subscription-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
    padding: 18px 16px;
    background: #EAF4F5;
    border-top: 2px solid #61A6AB;
    border-radius: 0 0 6px 6px;
}

.subscription-total small {
    color: #597477;
    font-size: 10px;
}

.subscription-total span {
    color: #2f6f73;
    font-weight: bold;
    font-size: 16px;
}

.subscription-total strong {
    color: #2f6f73;
    font-size: 16px;
}

.subscription-row.expired {
    opacity: 0.65;
}

@media (max-width: 760px) {
    .subscription-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .subscription-payment-method,
    .subscription-row,
    .subscription-total {
        align-items: flex-start;
        flex-direction: column;
    }

    .customer-portal-form {
        margin-left: 0;
        width: 100%;
    }

    .subscription-price {
        width: 100%;
        text-align: left;
        white-space: normal;
    }

    .subscription-total {
        gap: 4px;
    }
}

@media (max-width: 460px) {
    .subscription-summary-grid,
    .subscription-meta-grid {
        grid-template-columns: 1fr;
    }
}

.subscription-row.active {
    background: #f8fffd;
}

.subscription-row.cancelled {
    background: #fff7f7;
    border-left: 3px solid #ff6b6b;
}

.subscription-detail-link {
    display: inline-block;
    margin-top: 4px;
    font-size: 10px;
    color: #61A6AB;
    text-decoration: none;
    font-weight: bold;
}

.subscription-detail-link:hover {
    text-decoration: underline;
}

.subscription-detail-link .icon {
    margin-left: 4px;
    font-size: 11px;
    opacity: 0.7;
}

.subscription-row {
    padding: 12px 14px;
    border-radius: 6px;
    border-bottom: none;
    background: #ffffff;
}

.subscription-row + .subscription-row {
    margin-top: 24px;
}

.subscription-row.active {
    background: #f8fffd;
    border: 1px solid #e2f3f0;
}

.subscription-row.cancelled {
    background: #fff7f7;
    border: 1px solid #ffd6d6;
    border-left: 3px solid #ff6b6b;
}

.subscription-row.expired {
    background: #fbfbfb;
    border: 1px solid #eeeeee;
    opacity: 1;
}

.subscription-card-main {
    min-width: 0;
}

.subscription-detail-button {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    padding: 8px 14px;
    white-space: nowrap;
}

.subscription-meta-grid {
    display: flex;
    flex-wrap: wrap;
    width: auto;
}

.subscription-meta-grid > div {
    flex: 0 1 145px;
}

.subscription-card-actions {
    margin-top: 12px;
}

/* Abonnements: composition compacte et lisible des cartes de fonctionnalite. */
.subscriptions-page .subscription-back-link {
    margin-bottom: 18px;
}

.subscriptions-page .subscription-payment-method {
    margin-top: 0;
}

.subscriptions-page .subscription-summary-grid {
    margin-top: 18px;
}

.subscriptions-page .subscription-sort-form {
    margin: 0;
}

.subscriptions-page .subscription-sort-form select {
    min-width: 225px;
}

.subscriptions-page .subscription-sort-form select.subscription-limit-select {
    min-width: 0;
    width: auto;
}

.subscriptions-page .subscription-inapp-nav {
    margin-top: 0;
    margin-bottom: 18px;
}

/* Le lien retour et le sous-menu restent alignés de façon identique sur
   les pages Abonnement, Studio Store, Installations et Historique. */
.account-store-nav {
    margin-top: 0;
    margin-bottom: 18px;
}

.account-store-nav-store-tab {
    gap: 6px;
}

.account-store-nav-store-icon {
    display: block;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    object-fit: contain;
}

.subscriptions-page .subscription-cycle-note {
    margin: 34px 0 18px;
    padding: 12px;
    font-size: inherit;
    line-height: normal;
    white-space: normal;
    text-align: left;
}

.subscriptions-page .subscription-cycle-note {
    border: 1px solid #e4ded1;
    background:
        radial-gradient(circle at 78% 12%, rgba(214, 164, 87, 0.16), transparent 28%),
        linear-gradient(180deg, #fffdf7 0%, #ffffff 100%);
    color: #444444;
}

.subscriptions-page .subscription-cycle-note-content {
    display: block;
}

.subscriptions-page .subscription-section {
    margin-top: 0;
}

.subscriptions-page .subscription-active-section {
    margin-top: 40px;
}

.subscriptions-page #abonnements-actifs {
    scroll-margin-top: 18px;
}

.subscriptions-page .subscription-expired-section {
    margin-top: 56px;
}

.subscriptions-page .subscription-expired-tab-section {
    margin-top: 40px;
}

.subscriptions-page .subscription-invoice {
    overflow: visible;
    background: transparent;
    border: 0;
}

.subscriptions-page .subscription-row {
    display: block;
    padding: 16px;
    background: #ffffff;
    border: 1px solid #e1e8e8;
    border-radius: 6px;
    box-shadow: 0 4px 14px rgba(39, 73, 76, 0.06);
    transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.subscriptions-page .subscription-row.active {
    background: #fbfefe;
    border: 1px solid #dcebea;
}

.subscriptions-page .subscription-row.expired {
    background: #fcfcfc;
    border: 1px solid #e5e7e7;
}

.subscriptions-page .subscription-row + .subscription-row {
    margin-top: 26px;
}

.subscriptions-page .subscription-row:hover {
    background: #fbfefe;
    border-color: #61A6AB;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.10);
    transform: translateY(-1px);
}

.subscriptions-page .subscription-card-header,
.subscriptions-page .subscription-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.subscriptions-page .subscription-card-heading {
    min-width: 0;
}

.subscriptions-page .subscription-card-footer {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #edf0f0;
}

.subscriptions-page .subscription-meta-grid {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    gap: 10px;
    margin-top: 0;
}

.subscriptions-page .subscription-meta-grid > div {
    flex: 0 1 150px;
    min-width: 126px;
    padding: 8px 10px;
}

.subscriptions-page .subscription-card-actions {
    flex: 0 0 auto;
    margin-top: 0;
}

.subscriptions-page .subscription-detail-button {
    min-width: 158px;
}

.subscriptions-page .subscription-promo-detail {
    margin-top: 14px;
}

.subscriptions-page .subscription-total {
    margin-top: 26px;
    border: 1px solid #cfe3e4;
    border-top: 2px solid #61A6AB;
    border-radius: 6px;
}

.subscriptions-page .subscription-total-price {
    flex: 0 0 auto;
    text-align: right;
}

.subscriptions-page .subscription-total-price strong,
.subscriptions-page .subscription-total-price small {
    display: block;
}

.subscriptions-page .subscription-total-price strong {
    color: #2f6f73;
    font-size: 16px;
}

.subscriptions-page .subscription-total-price small {
    margin-top: 3px;
    color: #597477;
    font-size: 10px;
    font-weight: 600;
}

@media (max-width: 760px) {
    .subscription-detail-button {
        box-sizing: border-box;
    }

    .subscription-meta-grid > div {
        flex: 1 1 130px;
    }

    .subscriptions-page .subscription-cycle-note {
        white-space: normal;
    }

    .subscriptions-page .subscription-sort-form select {
        width: 100%;
    }

    .subscriptions-page .subscription-total-price {
        text-align: left;
    }

    .subscriptions-page .subscription-card-header,
    .subscriptions-page .subscription-card-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .subscriptions-page .subscription-price {
        text-align: left;
    }

    .subscriptions-page .subscription-meta-grid {
        flex-wrap: wrap;
        width: 100%;
    }

    .subscriptions-page .subscription-card-actions,
    .subscriptions-page .subscription-detail-button {
        width: 100%;
    }
}

.feature-lock-box {
    background: #fff7e8;
    border: 1px solid #e0b45c;
    border-left: 4px solid #e0b45c;
    border-radius: 8px;
    padding: 16px;
    margin: 16px 0;
}

.feature-lock-title {
    font-size: 12px;
    font-weight: bold;
    color: #8a5a00;
    margin-bottom: 6px;
}

.feature-lock-name {
    font-size: 15px;
    font-weight: bold;
    color: #222222;
    margin-bottom: 6px;
}

.feature-lock-description {
    font-size: 12px;
    color: #555555;
    margin-bottom: 12px;
}

.feature-lock-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.feature-lock-price {
    font-weight: bold;
    color: #8a5a00;
}

.feature-locked-button {
    opacity: 0.65;
    cursor: pointer;
}

.feature-locked-button:hover {
    opacity: 0.9;
}

.feature-lock-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    background: #f8fbfb;
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
    padding: 18px;
    margin: 16px 0;
}

.feature-lock-kicker {
    font-size: 11px;
    color: #8a5a00;
    font-weight: bold;
    margin-bottom: 6px;
}

.feature-lock-card-title {
    font-size: 16px;
    font-weight: bold;
    color: #222222;
    margin-bottom: 6px;
}

.feature-lock-card-text {
    font-size: 12px;
    color: #555555;
}

.feature-lock-card-right {
    min-width: 160px;
    text-align: center;
}

.feature-lock-card-price {
    display: inline-block;
    margin-bottom: 10px;
    padding: 7px 12px;
    border-radius: 99px;
    background: #EAF4F5;
    color: #2f6f73;
    border: 1px solid #61A6AB;
    font-weight: bold;
}

.feature-required-alert-header {
    background: #fff5f5;
    border-bottom: 4px solid #b00020;
}

.feature-required-alert-header .page-title {
    color: #b00020;
}

.feature-required-alert-header .page-subtitle {
    color: #7a0016;
}

.feature-required-help {
    margin-top: 10px;
    font-size: 11px;
    line-height: 1.5;
    color: #8a5a00;
    text-align: center;
}

.feature-required-help a {
    color: #5f8f94;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.25;
}

.feature-required-help a:hover {
    color: #477a7f;
    text-decoration: underline;
}

.history-invoice .subscription-row {
    padding: 16px 14px;
    border-radius: 6px;
    border: 1px solid #eeeeee;
    background: #ffffff;
}

.history-invoice .subscription-row + .subscription-row {
    margin-top: 24px;
}

.history-invoice .subscription-row:last-child {
    border-bottom: 1px solid #eeeeee;
}

.history-month-list {
    display: grid;
    gap: 40px;
}

.history-month-block {
    display: grid;
    gap: 8px;
}

.history-month-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.history-month-title {
    color: #2f6f73;
    font-size: 14px;
    font-weight: 800;
}

.history-month-total {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    white-space: nowrap;
}

.history-month-total span {
    color: #777777;
    font-size: 11px;
    font-weight: 700;
}

.history-month-total strong {
    color: #2f6f73;
    font-size: 14px;
    font-weight: 800;
}

.history-month-total small {
    color: #777777;
    flex-basis: 100%;
    font-size: 10px;
    text-align: right;
}

.history-event-line {
    align-items: center;
    display: flex;
    gap: 8px;
    margin-bottom: 7px;
}

.history-event-date {
    color: #222222;
    font-size: 12px;
    font-weight: 800;
}

.history-event-badge {
    background: #EAF4F5;
    border: 1px solid #d8edef;
    border-radius: 999px;
    color: #2f6f73;
    font-size: 10px;
    font-weight: 800;
    padding: 3px 8px;
}

.history-event-badge.success {
    background: #edf9f2;
    border-color: #cae9d6;
    color: #2d7358;
}

.history-event-badge.warning {
    background: #fff8e6;
    border-color: #f0dfad;
    color: #806000;
}

.history-event-badge.danger {
    background: #fff1f0;
    border-color: #efcfcc;
    color: #965f59;
}

.history-billing-meta {
    color: #666666;
    display: flex;
    flex-wrap: wrap;
    font-size: 10px;
    gap: 6px 12px;
    margin-top: 6px;
}

.history-invoice-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.history-invoice-actions .submit-button {
    align-items: center;
    display: inline-flex;
    font-size: 11px;
    gap: 4px;
    padding: 8px 12px;
}

.history-invoice-link {
    align-items: center;
    background: #2f6f73;
    border: 1px solid #2f6f73;
    border-radius: 6px;
    color: #ffffff;
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    gap: 4px;
    padding: 6px 9px;
    text-decoration: none;
}

.history-invoice-link:hover {
    background: #245b5f;
    color: #ffffff;
}

.history-invoice-link.secondary {
    background: #ffffff;
    color: #2f6f73;
}

.history-invoice-link.secondary:hover {
    background: #eaf4f5;
}

.history-promo-detail {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    padding: 8px 10px;
    border: 1px solid #d8efe8;
    border-radius: 8px;
    background: #f5fffb;
}

.history-promo-badge {
    padding: 4px 8px;
    border-radius: 999px;
    background: #EAF4F5;
    color: #2f6f73;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.history-promo-content {
    display: grid;
    gap: 2px;
    color: #4b5563;
    font-size: 11px;
    line-height: 1.35;
}

.history-promo-content strong {
    color: #2f6f73;
    font-size: 12px;
}

.history-promo-content span {
    color: #666666;
}

@media (max-width: 760px) {
    .history-month-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .history-month-total {
        justify-content: flex-start;
        white-space: normal;
    }

    .history-month-total small {
        text-align: left;
    }
}

.subscription-promo-detail {
    margin-top: 8px;
}

.account-link-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.account-link-card {
    display: block;
    background: #ffffff;
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
    padding: 16px;
    text-decoration: none;
    transition: all 0.15s ease;
}

.account-link-card:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    transform: translateY(-1px);
    background: #f8fbfb;
}

.account-link-title {
    font-weight: bold;
    color: #222222;
    margin-bottom: 6px;
}

.account-link-text {
    color: #666666;
    font-size: 12px;
    line-height: 1.5;
}

.account-link-card-featured {
    background: #EAF4F5;
    border-color: #61A6AB;
    box-shadow: 0 4px 12px rgba(97,166,171,0.18);
}

.account-link-card-featured .account-link-title {
    color: #2f6f73;
}

.lst-admin-missions-box {
    margin-top: 22px;
    background: rgba(255,255,255,0.78);
}

.appstore-filter-form.lst-admin-missions-filters {
    margin-bottom: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas:
        "search search status"
        "subcontract massive-mail admin-position"
        "actions actions actions";
}

.lst-admin-missions-filters .appstore-search-field {
    grid-area: search;
    grid-column: auto;
}

.lst-admin-missions-filters .lst-admin-filter-appel { grid-area: subcontract; }
.lst-admin-missions-filters .lst-admin-filter-massive-mail { grid-area: massive-mail; }
.lst-admin-missions-filters .lst-admin-filter-positionnement { grid-area: admin-position; }
.lst-admin-missions-filters .lst-admin-filter-statut { grid-area: status; }

.lst-admin-missions-filters .appstore-filter-actions {
    grid-area: actions;
    grid-column: 1 / -1;
    margin-top: 2px;
}

.lst-admin-mission-results {
    margin-top: 18px;
}

.lst-admin-mission-card {
    border-left-color: #7b2cbf;
    min-height: 138px;
}

.lst-admin-mission-choice-card {
    position: relative;
    overflow: hidden;
    cursor: default;
}

.lst-admin-mission-card-content {
    display: flex;
    flex: 1 1 auto;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    transition: filter .18s ease, opacity .18s ease;
}

.lst-admin-mission-actions-layer {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 20px 18px;
    background: linear-gradient(135deg, rgba(37, 25, 50, .72), rgba(30, 89, 94, .68));
    backdrop-filter: blur(1.5px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
}

.lst-admin-mission-choice-card:hover .lst-admin-mission-card-content,
.lst-admin-mission-choice-card:focus-within .lst-admin-mission-card-content {
    filter: none;
    opacity: .38;
}

.lst-admin-mission-choice-card:hover .lst-admin-mission-actions-layer,
.lst-admin-mission-choice-card:focus-within .lst-admin-mission-actions-layer {
    opacity: 1;
    pointer-events: auto;
}

.lst-admin-mission-hover-title {
    width: min(100%, 680px);
    color: #fff;
    text-align: center;
    text-shadow: 0 1px 5px rgba(0, 0, 0, .3);
}

.lst-admin-mission-hover-title span {
    display: block;
    margin-bottom: 2px;
    color: rgba(255, 255, 255, .82);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.lst-admin-mission-hover-title strong {
    display: block;
    overflow: hidden;
    color: #fff;
    font-size: 15px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lst-admin-mission-hover-actions {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 12px;
    width: 100%;
}

.lst-admin-mission-action {
    flex: 1 1 0;
    max-width: 340px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 12px;
    padding: 10px 16px;
    box-shadow: 0 8px 22px rgba(16, 26, 29, .2);
    color: #fff;
    text-decoration: none;
    text-align: center;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.lst-admin-mission-action:hover,
.lst-admin-mission-action:focus {
    transform: translateY(-3px);
    box-shadow: 0 11px 26px rgba(16, 26, 29, .3);
    color: #fff;
}

.lst-admin-mission-action.subcontract { background: rgba(123, 44, 191, .9); }
.lst-admin-mission-action.freelance { background: rgba(75, 164, 169, .92); }
.lst-admin-mission-action.admin-position { background: rgba(44, 105, 119, .94); }
.lst-admin-mission-action strong { font-size: 14px; }
.lst-admin-mission-action span { font-size: 10px; line-height: 1.35; opacity: .92; }
.lst-admin-mission-action .lst-admin-mission-action-label {
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .09em;
    opacity: .78;
    text-transform: uppercase;
}

.lst-admin-mission-action .lst-admin-mission-action-channel {
    margin-top: 2px;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .1em;
    opacity: .72;
    text-transform: uppercase;
}

.lst-admin-mission-closed-message {
    align-self: center;
    color: #fff;
    font-size: 15px;
    font-weight: 800;
}

.lst-admin-mission-detail-link {
    color: rgba(255, 255, 255, .86);
    font-size: 9px;
    font-weight: 800;
    text-decoration: none;
    text-shadow: 0 1px 4px rgba(0, 0, 0, .25);
}

.lst-admin-mission-detail-link:hover,
.lst-admin-mission-detail-link:focus {
    color: #fff;
    text-decoration: underline;
}

.lst-admin-mission-card .recherche-result-main {
    display: flex;
    flex-direction: column;
}

.lst-admin-mission-card .recherche-result-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
}

.lst-admin-mission-bottom-meta {
    margin-top: auto;
    padding-top: 18px;
}

.lst-admin-mission-statuses {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
}

.lst-admin-appel-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 900;
}

.lst-admin-appel-status.missing {
    border: 1px solid #e6b2b2;
    background: #fff2f2;
    color: #9b2c2c;
}

.lst-admin-appel-status.sent {
    border: 1px solid #9ed5af;
    background: #f0fff4;
    color: #2f6f3d;
}

.lst-admin-appel-status.unavailable {
    border: 1px solid #d8dfe0;
    background: #f3f5f5;
    color: #687476;
}

.lst-admin-appel-status.massive-mail {
    border: 1px solid #8fc8cb;
    background: #edfafa;
    color: #2f777d;
}

.lst-admin-mission-side-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: #6a6a6a;
    font-size: 11px;
    font-weight: 600;
    text-align: right;
}

.lst-admin-mission-side-meta b {
    color: #333333;
    font-weight: 900;
}

.lst-admin-context-banner {
    width: 900px;
    max-width: calc(100% - 32px);
    margin: 40px auto -20px;
    border: 1px solid #7b2cbf;
    border-left: 6px solid #7b2cbf;
    border-radius: 8px;
    background: linear-gradient(135deg, #f5efff 0%, #ffffff 100%);
    color: #2b173f;
    padding: 16px 18px;
    box-sizing: border-box;
}

.massive-mail-page .process-box { margin-top: 22px; }

.massive-mail-mission-summary {
    width: min(820px, calc(100% - 48px));
    margin: 18px auto 0;
    box-sizing: border-box;
    border: 1px solid rgba(97, 166, 171, .42);
    border-radius: 13px;
    background: linear-gradient(135deg, #f1f9f8 0%, #ffffff 62%);
    padding: 15px 17px;
    text-align: left;
    box-shadow: 0 8px 20px rgba(38, 91, 95, .08);
}

.massive-mail-mission-summary-main {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.massive-mail-mission-summary-main span {
    color: #648186;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.massive-mail-mission-summary-main strong {
    color: #173f44;
    font-size: 18px;
    line-height: 1.25;
}

.massive-mail-mission-summary-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 11px;
}

.massive-mail-mission-summary-facts span {
    border: 1px solid #d8e9e7;
    border-radius: 8px;
    background: rgba(255, 255, 255, .86);
    padding: 7px 9px;
    color: #405f64;
    font-size: 10px;
}

.massive-mail-mission-summary-facts b {
    margin-right: 5px;
    color: #6e898d;
    font-size: 8px;
    text-transform: uppercase;
}

.massive-mail-mission-summary > a {
    display: inline-flex;
    margin-top: 11px;
    color: #3d8f94;
    font-size: 10px;
    font-weight: 900;
    text-decoration: none;
}

.massive-mail-mission-summary > a:hover {
    color: #286f74;
    text-decoration: underline;
}

.massive-mail-kpis {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0;
}

.massive-mail-kpis > div {
    border: 1px solid #dbe9e7;
    border-radius: 11px;
    background: #f7fbfa;
    padding: 15px 10px;
    text-align: center;
}

.massive-mail-kpis strong {
    display: block;
    color: #2f777d;
    font-size: 24px;
    line-height: 1;
}

.massive-mail-kpis span {
    display: block;
    margin-top: 7px;
    color: #6a7d81;
    font-size: 11px;
    font-weight: 700;
}

.massive-mail-campaign-meta {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 14px;
    color: #617276;
    font-size: 10px;
}

.massive-mail-campaign-meta-item {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: 6px;
    box-sizing: border-box;
    border: 1px solid #d9e7e5;
    border-radius: 9px;
    background: #f7fbfa;
    padding: 7px 10px;
}

.massive-mail-campaign-meta-item small {
    color: #74878a;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.massive-mail-campaign-meta-item strong {
    color: #315e63;
    font-size: 10px;
}

.massive-mail-campaign-meta-item em {
    color: #718286;
    font-size: 9px;
    font-style: normal;
}

.massive-mail-campaign-meta-item.is-status {
    border-color: #b9ded5;
    background: #edf8f4;
}

.massive-mail-campaign-meta-item.is-status strong {
    color: #287458;
}

.massive-mail-table-wrap { overflow-x: auto; }

.massive-mail-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.massive-mail-table th,
.massive-mail-table td {
    border-bottom: 1px solid #e5eceb;
    padding: 12px 10px;
    text-align: left;
    vertical-align: top;
}

.massive-mail-table th {
    color: #53686c;
    background: #f5f9f8;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.massive-mail-table small {
    display: block;
    margin-top: 4px;
    color: #7a898c;
    max-width: 260px;
}

.massive-mail-selection-toolbar {
    margin: 24px 0 12px;
    border: 1px solid #cde4e2;
    border-radius: 12px;
    padding: 15px 18px;
    background: linear-gradient(135deg, #edf8f7 0%, #f8fcfb 100%);
    color: #315e62;
    font-size: 15px;
}

.massive-mail-selection-toolbar strong {
    margin-right: 5px;
    color: #246d73;
    font-size: 22px;
}

.massive-mail-targeting-settings {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 22px;
}

.massive-mail-setting-label {
    display: block;
    margin-bottom: 8px;
    color: #344f54;
    font-size: 12px;
    font-weight: 800;
}

.massive-mail-mode-options {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.massive-mail-mode-option {
    position: relative;
    display: block;
    cursor: pointer;
}

.massive-mail-mode-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.massive-mail-mode-option > span {
    display: flex;
    min-height: 94px;
    flex-direction: column;
    gap: 7px;
    box-sizing: border-box;
    border: 1px solid #d8e5e4;
    border-left: 4px solid #a8c9c7;
    border-radius: 10px;
    background: #fff;
    padding: 14px;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.massive-mail-mode-option:hover > span {
    border-color: #76b5b7;
    box-shadow: 0 7px 18px rgba(33, 92, 97, .08);
}

.massive-mail-mode-option input:checked + span {
    border-color: #54aeb0;
    border-left-color: #54aeb0;
    background: #eff9f8;
    box-shadow: 0 8px 22px rgba(49, 125, 131, .12);
}

.massive-mail-mode-option strong {
    color: #203d42;
    font-size: 13px;
}

.massive-mail-mode-option small {
    color: #687c80;
    font-size: 10px;
    line-height: 1.4;
}

.massive-mail-mode-option em {
    align-self: flex-start;
    border-radius: 999px;
    background: #d8eeee;
    padding: 3px 7px;
    color: #34777c;
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
    text-transform: uppercase;
}

.massive-mail-targeting-parameters {
    border: 1px solid #d8e5e4;
    border-radius: 11px;
    background: #f8fbfa;
    padding: 18px 20px;
}

.massive-mail-targeting-parameters > strong {
    display: block;
    margin-bottom: 12px;
    color: #315e63;
    font-size: 12px;
}

.massive-mail-targeting-parameters p {
    margin: 0;
    color: #667b7f;
    font-size: 10px;
    line-height: 1.65;
}

.massive-mail-targeting-parameters [hidden] {
    display: none !important;
}

.massive-mail-threshold-field {
    display: grid;
    grid-template-columns: 150px 130px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin: 0;
}

.massive-mail-threshold-field label {
    margin: 0;
}

.massive-mail-threshold-field small {
    display: block;
    margin: 0;
    color: #758589;
    font-size: 10px;
}

.massive-mail-results-anchor {
    position: relative;
    top: -14px;
    height: 1px;
}

#massive-mail-send-preview {
    scroll-margin-top: 18px;
}

.massive-mail-result-tabs {
    display: inline-flex;
    gap: 6px;
    margin: 8px 0 14px;
    border: 1px solid #dce8e7;
    border-radius: 12px;
    background: #f4f8f7;
    padding: 5px;
}

.massive-mail-result-tabs button {
    border: 0;
    border-radius: 8px;
    background: transparent;
    padding: 9px 14px;
    color: #567075;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.massive-mail-result-tabs button span {
    display: inline-block;
    min-width: 19px;
    margin-left: 5px;
    border-radius: 999px;
    background: rgba(82, 123, 126, .12);
    padding: 2px 6px;
    font-size: 10px;
}

.massive-mail-result-tabs button.is-active {
    background: #54aeb0;
    color: #fff;
    box-shadow: 0 5px 13px rgba(45, 119, 124, .2);
}

.massive-mail-result-tabs button.is-active span {
    background: rgba(255, 255, 255, .22);
}

.massive-mail-results-title {
    color: #315e63;
    font-size: 16px;
    margin-bottom: 20px;
}

.massive-mail-results-title > strong {
    color: #2f858a;
    font-size: 20px;
}

.massive-mail-results-overview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0 0 18px;
}

.massive-mail-results-overview .massive-mail-result-tabs {
    flex: 0 0 auto;
    margin: 0;
}

.massive-mail-targeting-averages {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    gap: 8px;
}

.massive-mail-targeting-averages > div {
    display: flex;
    min-width: 126px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    box-sizing: border-box;
    border: 1px solid #d5e7e5;
    border-radius: 10px;
    background: linear-gradient(145deg, #f0f9f8 0%, #fff 100%);
    padding: 9px 11px;
    box-shadow: 0 4px 12px rgba(44, 101, 106, .06);
}

.massive-mail-targeting-averages span {
    color: #678086;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.massive-mail-targeting-averages strong {
    color: #286f75;
    font-size: 13px;
    white-space: nowrap;
}

.massive-mail-results-controls {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) auto;
    align-items: end;
    gap: 12px;
    margin-bottom: 14px;
}

.massive-mail-results-controls .form-field {
    margin: 0;
}

.massive-mail-results-selects {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    margin: 0;
    padding-bottom: 1px;
}

.massive-mail-display-switch {
    display: inline-flex;
    flex: 0 0 auto;
    gap: 3px;
    border: 1px solid #d7e4e3;
    border-radius: 9px;
    background: #f3f8f7;
    padding: 3px;
}

.massive-mail-display-switch button {
    min-height: 30px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    padding: 6px 10px;
    color: #587176;
    font: inherit;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.massive-mail-display-switch button.is-active {
    background: #61a6ab;
    color: #fff;
    box-shadow: 0 3px 9px rgba(47, 119, 125, .18);
}

.massive-mail-results-selects select {
    min-height: 32px;
    border-color: #d7e1e2;
    color: #49696c;
    cursor: pointer;
}

.massive-mail-results-selects #massive-mail-results-sort {
    max-width: 245px;
}

.massive-mail-results-selects select:focus {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 3px rgba(97, 166, 171, .14);
}

.massive-mail-consultants {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.massive-mail-targeting-table-head,
.massive-mail-targeting-table-cells,
.massive-mail-targeting-table-contact {
    display: none;
}

.massive-mail-consultants.is-table-view {
    gap: 7px;
}

.massive-mail-consultants.is-table-view .massive-mail-targeting-table-head,
.massive-mail-consultants.is-table-view .massive-mail-targeting-table-cells {
    display: grid;
    grid-template-columns: minmax(180px, 2.15fr) minmax(125px, 1.35fr) minmax(68px, .65fr) minmax(34px, .35fr) minmax(50px, .48fr) minmax(34px, .32fr) minmax(48px, .44fr);
    align-items: center;
    gap: 6px;
}

.massive-mail-consultants.is-table-view .massive-mail-targeting-table-head {
    border: 1px solid #d8e6e4;
    border-radius: 9px 9px 5px 5px;
    background: #edf6f5;
    padding: 9px 11px;
    color: #557176;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.massive-mail-consultants.is-table-view .massive-mail-targeting-table-head > span:nth-child(n+3) {
    text-align: center;
}

.massive-mail-consultants.is-table-view .massive-mail-consultant-row {
    position: relative;
    z-index: 1;
    display: block;
    min-width: 0;
    border-radius: 8px;
    padding: 9px 11px;
    box-shadow: 0 3px 10px rgba(28, 70, 74, .045);
}

.massive-mail-consultants.is-table-view .massive-mail-consultant-row:hover,
.massive-mail-consultants.is-table-view .massive-mail-consultant-row:focus-visible {
    z-index: 5;
    border-color: #4fa3a8;
    border-left-color: #2d9299;
    background: #eaf7f6;
    box-shadow: 0 10px 24px rgba(35, 105, 111, .2), inset 0 0 0 1px rgba(79, 163, 168, .16);
}

.massive-mail-consultants.is-table-view .massive-mail-card-only {
    display: none !important;
}

.massive-mail-consultants.is-table-view .massive-mail-targeting-table-cells > input {
    width: 100%;
    min-width: 0;
    height: 29px;
    box-sizing: border-box;
    border: 0;
    border-radius: 7px;
    background: transparent;
    padding: 5px 4px;
    color: #3e5e63;
    font-family: Arial, sans-serif;
    font-size: 9px;
    font-weight: 700;
    text-overflow: ellipsis;
}

.massive-mail-consultants.is-table-view .massive-mail-targeting-table-cells {
    position: relative;
}

.massive-mail-consultants.is-table-view .massive-mail-targeting-table-cells > input:nth-child(2) {
    font-size: 8px;
    font-weight: 600;
}

.massive-mail-consultants.is-table-view .massive-mail-targeting-table-cells > input:nth-child(3) {
    font-size: 8.5px;
    font-weight: 600;
    text-align: center;
}

.massive-mail-consultants.is-table-view .massive-mail-targeting-table-cells > span,
.massive-mail-consultants.is-table-view .massive-mail-targeting-table-cells > strong {
    min-width: 0;
    overflow: hidden;
    color: #456268;
    font-size: 9px;
    line-height: 1.25;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.massive-mail-consultants.is-table-view .massive-mail-targeting-table-cells > strong {
    justify-self: center;
    border-radius: 999px;
    padding: 5px 7px;
    font-size: 10px;
}

.massive-mail-consultants.is-table-view .massive-mail-targeting-table-cells > strong.is-ai {
    border: 1px solid #b9dfc5;
    background: #eef9f1;
    color: #2f7544;
}

.massive-mail-consultants.is-table-view .massive-mail-targeting-table-cells > strong.is-criteria {
    border: 1px solid #d8c8ef;
    background: #f7f2fd;
    color: #633f91;
}

.massive-mail-consultants.is-table-view .massive-mail-targeting-table-contact {
    position: absolute;
    top: calc(100% + 7px);
    right: 0;
    left: 0;
    z-index: 7;
    grid-column: 2 / -1;
    align-items: center;
    gap: 12px;
    border: 1px solid #bcd9d7;
    border-radius: 0 0 9px 9px;
    background: #f5fbfa;
    padding: 9px 112px 9px 12px;
    color: #587176;
    font-size: 9px;
    box-shadow: 0 12px 20px rgba(30, 73, 77, .13);
}

.massive-mail-consultants.is-table-view .massive-mail-consultant-row:hover .massive-mail-targeting-table-contact,
.massive-mail-consultants.is-table-view .massive-mail-consultant-row:focus-visible .massive-mail-targeting-table-contact {
    display: flex;
}

.massive-mail-consultants.is-table-view .massive-mail-targeting-table-contact strong {
    color: #31595e;
    font-size: 10px;
}

.massive-mail-consultants.is-table-view .massive-mail-remove,
.massive-mail-consultants.is-table-view .massive-mail-restore {
    position: absolute;
    top: calc(100% + 15px);
    right: 20px;
    z-index: 9;
    display: none;
    padding: 5px 9px;
    font-size: 9px;
    transform: translateY(-50%);
}

.massive-mail-consultants.is-table-view .massive-mail-consultant-row:hover .massive-mail-remove,
.massive-mail-consultants.is-table-view .massive-mail-consultant-row:hover .massive-mail-restore,
.massive-mail-consultants.is-table-view .massive-mail-consultant-row:focus-visible .massive-mail-remove,
.massive-mail-consultants.is-table-view .massive-mail-consultant-row:focus-visible .massive-mail-restore {
    display: block;
}

.massive-mail-consultant-row {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(180px, .85fr) auto;
    align-items: stretch;
    gap: 16px;
    border: 1px solid #dfe9e8;
    border-left: 4px solid #61A6AB;
    border-radius: 13px;
    background: #fff;
    padding: 16px;
    box-shadow: 0 8px 22px rgba(28, 70, 74, .05);
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.massive-mail-consultant-row:hover,
.massive-mail-consultant-row:focus-visible {
    border-color: #7eb9b9;
    outline: none;
    box-shadow: 0 11px 27px rgba(28, 70, 74, .11);
    transform: translateY(-1px);
}

.massive-mail-consultant-row[hidden] {
    display: none !important;
}

.massive-mail-consultant-row.is-unsubscribed {
    border-left-color: #a8b3b4;
    background: #f2f4f4;
    box-shadow: none;
    filter: grayscale(.45);
    opacity: .82;
}

.massive-mail-consultant-row.is-removed {
    border-left-color: #c5a7e4;
    background: #fcfaff;
}

.massive-mail-consultant-primary,
.massive-mail-consultant-secondary,
.massive-mail-consultant-match {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.massive-mail-consultant-title {
    display: flex;
    align-items: center;
    gap: 8px;
}

.massive-mail-consultant-title strong {
    color: #173b41;
    font-size: 16px;
    line-height: 1.25;
}

.massive-mail-unsubscribed-badge {
    flex: 0 0 auto;
    border: 1px solid #a9b3b4;
    border-radius: 999px;
    padding: 3px 7px;
    color: #5e6a6c;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.massive-mail-consultant-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.massive-mail-consultant-facts span {
    min-width: 82px;
    box-sizing: border-box;
    border: 1px solid #dbe9e7;
    border-radius: 8px;
    background: linear-gradient(145deg, #f1f9f8 0%, #ffffff 100%);
    padding: 8px 10px;
    color: #486469;
    font-size: 10px;
    text-align: center;
    box-shadow: 0 3px 9px rgba(44, 101, 106, .06);
}

.massive-mail-consultant-facts b {
    display: block;
    margin-bottom: 2px;
    color: #6f8a8e;
    font-size: 8px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.massive-mail-consultant-facts strong {
    display: block;
    color: #244f55;
    font-size: 12px;
    line-height: 1.2;
}

.massive-mail-expertises {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.massive-mail-expertises label {
    color: #517176;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.massive-mail-expertises input[type="text"] {
    width: 100%;
    min-width: 0;
    height: 32px;
    box-sizing: border-box;
    border: 1px solid #d9e6e4;
    border-radius: 8px;
    background: #fff;
    padding: 6px 9px;
    color: #5c7175;
    font-family: Arial, sans-serif;
    font-size: 10px;
    cursor: text;
}

.massive-mail-expertises input[type="text"]:focus {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 3px rgba(97, 166, 171, .13);
}

.massive-mail-consultant-secondary {
    justify-content: center;
    border-left: 1px solid #e8eeee;
    padding-left: 16px;
}

.massive-mail-consultant-secondary strong {
    color: #304f54;
    font-size: 12px;
}

.massive-mail-consultant-secondary span {
    color: #738489;
    font-size: 10px;
    overflow-wrap: anywhere;
}

.massive-mail-consultant-match {
    justify-content: center;
    align-items: flex-start;
}

.massive-mail-consultant-match .candidature-matching-pill {
    width: auto;
    min-width: 0;
    padding: 7px 10px;
}

.massive-mail-consultant-match .candidature-matching-pill.is-unavailable {
    border-color: #d7dfde;
    background: #f2f4f4;
    color: #748184;
}

.massive-mail-score-badges {
    display: flex;
    align-items: stretch;
    gap: 7px;
}

.massive-mail-score-badges .candidature-matching-pill,
.massive-mail-form-score {
    display: inline-flex;
    min-width: 62px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    box-sizing: border-box;
    padding: 7px 8px;
    text-align: center;
}

.massive-mail-score-badges .candidature-matching-pill > span,
.massive-mail-form-score > span {
    font-size: 9px;
    font-weight: 800;
    line-height: 1.1;
}

.massive-mail-form-score {
    border: 1px solid #c6b2ea;
    border-radius: 8px;
    background: #f6f1ff;
    color: #664394;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.massive-mail-form-score strong {
    color: #512c82;
    font-size: 13px;
}

.massive-mail-consultant-match small {
    color: #758589;
    font-size: 9px;
    line-height: 1.4;
}

.massive-mail-occurrence-details {
    display: flex;
    grid-column: 1 / -1;
    flex-direction: column;
    gap: 5px;
    border-top: 1px solid #e6eeee;
    padding-top: 10px;
}

.massive-mail-comparison-zones {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 10px;
    border-top: 1px solid #e6eeee;
    padding-top: 10px;
}

.massive-mail-comparison-zone {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: flex-start;
    gap: 7px;
    border: 1px solid;
    border-radius: 9px;
    padding: 9px 11px;
}

.massive-mail-comparison-zone.is-ai {
    border-color: #b9dfc5;
    background: #f0faf3;
}

.massive-mail-comparison-zone.is-criteria {
    border-color: #d8c8ef;
    background: #f8f4ff;
}

.massive-mail-comparison-zone header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-bottom: 1px solid rgba(80, 116, 119, .12);
    padding-bottom: 7px;
}

.massive-mail-comparison-zone header span {
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.massive-mail-comparison-zone header strong {
    display: inline-flex;
    min-width: 56px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border-radius: 9px;
    padding: 6px 10px;
    font-size: 20px;
    line-height: 1;
    box-shadow: 0 5px 12px rgba(42, 91, 78, .1);
}

.massive-mail-comparison-zone.is-ai header span,
.massive-mail-comparison-zone.is-ai header strong {
    color: #2f7544;
}

.massive-mail-comparison-zone.is-ai header strong {
    border: 1px solid #9ed5ae;
    background: #e8f7ec;
}

.massive-mail-comparison-zone.is-criteria header span,
.massive-mail-comparison-zone.is-criteria header strong {
    color: #633f91;
}

.massive-mail-comparison-zone.is-criteria header strong {
    border: 1px solid #c9afe9;
    background: #f1e9fc;
    box-shadow: 0 5px 12px rgba(99, 63, 145, .11);
}

.massive-mail-zone-lines {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}

.massive-mail-zone-lines > div {
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    align-items: baseline;
    gap: 7px;
}

.massive-mail-zone-lines span {
    color: #6b7f83;
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
}

.massive-mail-zone-lines p {
    margin: 0;
    color: #526b6f;
    font-size: 9px;
    line-height: 1.35;
}

.massive-mail-zone-lines p b {
    color: #294e53;
}

.massive-mail-strict-status {
    align-self: flex-start;
    border-radius: 999px;
    background: #eadff8;
    padding: 3px 7px;
    color: #633f91;
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
}

.massive-mail-occurrence-details > div {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: baseline;
    gap: 8px;
}

.massive-mail-occurrence-details span {
    color: #6b8488;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.massive-mail-occurrence-details p {
    margin: 0;
    color: #607579;
    font-size: 10px;
    line-height: 1.45;
}

.massive-mail-occurrence-details p b {
    color: #315e63;
}

.massive-mail-remove {
    align-self: center;
    margin: 0 !important;
    border: 1px solid #b83b48;
    border-radius: 8px;
    background: #c84552;
    padding: 10px 13px;
    color: #fff;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
}

.massive-mail-remove:hover {
    border-color: #962b36;
    background: #a9323e;
}

.massive-mail-restore {
    align-self: center;
    margin: 0 !important;
    border: 1px solid #8bc9b0;
    border-radius: 8px;
    background: #edf9f3;
    padding: 10px 13px;
    color: #347658;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
    transition: background .15s ease, transform .15s ease;
}

.massive-mail-restore:hover {
    background: #dff3e9;
    transform: translateY(-1px);
}

.massive-mail-pagination {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 14px 0;
}

.massive-mail-pagination button {
    min-width: 32px;
    height: 32px;
    border: 1px solid #d1dfde;
    border-radius: 7px;
    background: #fff;
    color: #45666b;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.massive-mail-pagination button:hover:not(:disabled),
.massive-mail-pagination button.is-active {
    border-color: #54aeb0;
    background: #54aeb0;
    color: #fff;
}

.massive-mail-pagination button:disabled {
    cursor: default;
    opacity: .4;
}

.massive-mail-pagination span {
    color: #869597;
    font-size: 12px;
}

.massive-mail-empty-view {
    border: 1px dashed #cad9d7;
    border-radius: 10px;
    background: #f7faf9;
    padding: 20px;
    color: #6d8084;
    font-size: 12px;
    text-align: center;
}

.massive-mail-budget-field {
    max-width: 480px;
    margin: 18px 0;
}

.massive-mail-email-parameters {
    margin: 18px 0 22px;
    border: 1px solid #d8e6e4;
    border-left: 4px solid #61A6AB;
    border-radius: 10px;
    background: #f7faf9;
    padding: 18px;
}

.massive-mail-email-parameters .process-title {
    margin-bottom: 15px;
}

.massive-mail-email-parameters > small {
    display: block;
    margin-top: 10px;
    color: #65797d;
    font-size: 12px;
}

.massive-mail-closing-note-field {
    width: 100%;
    margin-top: 17px;
}

.massive-mail-closing-note-field textarea {
    display: block;
    width: 100%;
    min-height: 104px;
    border-color: #cbdedc;
    border-radius: 9px;
    color: #314f54;
    font-size: 13px;
    line-height: 1.55;
}

.massive-mail-closing-note-field textarea:hover {
    border-color: #9fc8c7;
}

.massive-mail-closing-note-field small {
    display: block;
    margin-top: 7px;
    color: #65797d;
    font-size: 11px;
    line-height: 1.45;
}

.massive-mail-closing-note-field .massive-mail-closing-note-html-help {
    color: #4f7478;
}

.massive-mail-closing-note-html-help code {
    padding: 1px 4px;
    border: 1px solid #d4e5e3;
    border-radius: 4px;
    background: #ffffff;
    color: #2f777c;
    font-family: Arial, sans-serif;
    font-size: 10px;
    font-weight: 700;
}

.massive-mail-sender-field {
    max-width: 720px;
    margin: 18px 0 22px;
    border-left: 4px solid #61A6AB;
    border-radius: 10px;
    background: #f2f8f7;
    padding: 16px 18px;
}

.massive-mail-sender-field select {
    background: #fff;
}

.massive-mail-sender-field small {
    display: block;
    margin-top: 8px;
    color: #65797d;
    font-size: 12px;
    line-height: 1.45;
}

.massive-mail-previews {
    padding: 18px;
    border-radius: 14px;
    background: #e8eeee;
}

.massive-mail-preview-tabs {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-bottom: 18px;
}

.massive-mail-preview-tabs button {
    min-width: 150px;
    border: 1px solid #b9cbca;
    border-radius: 8px;
    background: #f7f9f9;
    padding: 10px 16px;
    color: #40595d;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.massive-mail-preview-tabs button:hover,
.massive-mail-preview-tabs button.is-active {
    border-color: #54aeb0;
    background: #54aeb0;
    color: #fff;
}

.massive-mail-preview-panel {
    display: none;
}

.massive-mail-preview-panel.is-active {
    display: block;
}

.massive-mail-preview-message {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    filter: drop-shadow(0 10px 22px rgba(31, 73, 77, 0.10));
}

.massive-mail-preview-message.is-mobile {
    width: 390px;
    max-width: 100%;
}

.massive-mail-preview-envelope {
    box-sizing: border-box;
    padding: 13px 18px 11px;
    border: 1px solid #cad6d5;
    border-top: 3px solid #61A6AB;
    border-bottom-color: #dce7e5;
    border-radius: 10px 10px 0 0;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfa 100%);
}

.massive-mail-preview-envelope-row {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: baseline;
    gap: 10px;
    padding: 7px 0;
    border-bottom: 1px solid #e7eeec;
}

.massive-mail-preview-envelope-row:last-child {
    border-bottom: 0;
}

.massive-mail-preview-envelope-label {
    color: #4f9297;
    font-size: 12px;
    font-weight: 900;
}

.massive-mail-preview-envelope-value {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 7px;
    color: #173f46;
    font-size: 13px;
    line-height: 1.45;
}

.massive-mail-preview-envelope-value strong {
    font-weight: 800;
}

.massive-mail-preview-envelope-value span {
    overflow: hidden;
    color: #728287;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.massive-mail-preview-envelope-value span:not(:empty)::before {
    content: "<";
}

.massive-mail-preview-envelope-value span:not(:empty)::after {
    content: ">";
}

.massive-mail-preview-envelope-row.is-subject .massive-mail-preview-envelope-value strong {
    overflow-wrap: anywhere;
}

.massive-mail-preview-message.is-mobile .massive-mail-preview-envelope-value {
    display: block;
}

.massive-mail-preview-message.is-mobile .massive-mail-preview-envelope-value span {
    display: block;
    margin-top: 1px;
}

.massive-mail-preview-frame {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    height: 1150px;
    margin: 0 auto;
    border: 1px solid #cad6d5;
    border-top: 0;
    border-radius: 0 0 8px 8px;
    background: #fff;
}

.massive-mail-preview-frame.mobile {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

@media (max-width: 520px) {
    .massive-mail-preview-envelope {
        padding-right: 13px;
        padding-left: 13px;
    }

    .massive-mail-preview-envelope-row {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 7px;
    }

    .massive-mail-preview-envelope-value {
        display: block;
    }

    .massive-mail-preview-envelope-value span {
        display: block;
        margin-top: 1px;
    }
}

.massive-mail-confirmation {
    margin-top: 20px;
    border: 1px solid #e7d29d;
    border-radius: 10px;
    background: #fff9e9;
    padding: 16px 18px;
    color: #604d23;
}

.massive-mail-confirmation p { margin: 7px 0 0; font-size: 13px; line-height: 1.55; }

.massive-mail-confirmation-count {
    display: inline-flex;
    align-items: center;
    padding: 1px 7px;
    border: 1px solid #b9d9d8;
    border-radius: 999px;
    background: #eef8f7;
    color: #2f777c;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

.massive-mail-history {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.massive-mail-history a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 1px solid #e0e9e8;
    border-radius: 9px;
    padding: 12px 14px;
    color: #274c50;
    text-decoration: none;
}

.massive-mail-history a:hover { background: #f5faf9; }
.massive-mail-history span { color: #718185; font-size: 11px; text-align: right; }

.lst-admin-context-banner > div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.lst-admin-context-banner strong {
    color: #4b1684;
    font-size: 16px;
    font-weight: 900;
}

.lst-admin-context-banner span {
    color: #4c3a5c;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.lst-admin-context-banner label {
    display: inline-flex;
    align-items: center;
    margin: 0 3px;
    border: 1px solid #7b2cbf;
    border-radius: 999px;
    background: #ffffff;
    color: #4b1684;
    font-size: 12px;
    font-weight: 900;
    padding: 3px 8px;
}

.communication-email-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 14px;
}

.communication-email-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background: #ffffff;
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
    padding: 18px 20px;
}

.communication-email-card-locked {
    background: #f5f7f8;
    border-left-color: #b7c5c8;
}

.communication-email-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.communication-email-title {
    font-weight: bold;
    color: #222222;
    margin-bottom: 6px;
}

.communication-email-description {
    color: #666666;
    font-size: 12px;
    line-height: 1.45;
}

.communication-email-action {
    flex: 0 0 280px;
    display: flex;
    justify-content: flex-end;
}

.communication-email-action select {
    width: 100%;
    min-width: 0;
    border: 1px solid #dddddd;
    border-radius: 6px;
    padding: 11px 12px;
    font-size: 13px;
    font-family: Arial, sans-serif;
    background: #ffffff;
    box-sizing: border-box;
}

.communication-email-action select:focus {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 2px rgba(97,166,171,0.15);
}

.communication-email-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: #e9f2f3;
    color: #2f6f73;
    font-size: 12px;
    font-weight: bold;
    white-space: nowrap;
}

.landing-container {
    overflow: hidden;
}

.landing-hero {
    padding: 42px 45px 50px;
    text-align: center;
    background: linear-gradient(180deg, #f8fbfb 0%, #ffffff 100%);
    border-bottom: 4px solid #61A6AB;
}

.landing-badge {
    display: inline-block;
    margin-bottom: 18px;
    padding: 7px 14px;
    border-radius: 99px;
    background: #EAF4F5;
    color: #2f6f73;
    border: 1px solid #61A6AB;
    font-weight: bold;
    font-size: 12px;
}

.landing-hero h1 {
    max-width: 720px;
    margin: 0 auto 16px;
    font-size: 30px;
    line-height: 1.25;
}

.landing-hero p {
    max-width: 680px;
    margin: 0 auto;
    color: #555555;
    font-size: 15px;
    line-height: 1.7;
}

.landing-actions {
    margin-top: 26px;
    display: flex;
    justify-content: center;
    gap: 12px;
}

.landing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.landing-card {
    background: #ffffff;
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
    padding: 18px;
}

.landing-card-title {
    font-weight: bold;
    font-size: 15px;
    color: #222222;
    margin-bottom: 8px;
}

.landing-card-text {
    color: #666666;
    font-size: 12px;
    line-height: 1.6;
}

.landing-highlight {
    margin-top: 20px;
}

.landing-kpis {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    padding: 22px 30px;
    background: #F8FBFB;
    border-bottom: 1px solid #DDEEEE;
}

.landing-kpi {
    text-align: center;
}

.landing-kpi-value {
    font-size: 30px;
    font-weight: bold;
    color: #2f6f73;
    margin-bottom: 6px;
}

.landing-kpi-label {
    font-size: 12px;
    color: #666666;
    line-height: 1.5;
}

.landing-topbar {
    background: #61A6AB;
    padding: 12px 0;
}

.landing-topbar-inner {
    width: 900px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.landing-logo {
    height: 34px;
    display: block;
}

.landing-topbar-links {
    display: flex;
    gap: 10px;
    align-items: center;
}

.landing-topbar-links a {
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    font-size: 12px;
    padding: 7px 11px;
    border-radius: 99px;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.18);
    transition: all 0.15s ease;
}

.landing-topbar-links a:hover {
    background: rgba(255,255,255,0.22);
    border-color: rgba(255,255,255,0.35);
    transform: translateY(-1px);
}

.landing-card-featured {
    background: #EAF4F5;
    border-color: #61A6AB;
    box-shadow: 0 4px 12px rgba(97,166,171,0.18);
}

.landing-card-featured .landing-card-title {
    color: #2f6f73;
}

.landing-brand-logo {
    display: flex;
    align-items: baseline;
    gap: 6px;
    color: #ffffff;
    white-space: nowrap;
}

.landing-brand-studio {
    font-size: 24px;
    font-weight: 300;
    letter-spacing: 1px;
}

.landing-brand-tech {
    font-size: 24px;
    font-weight: 300;
    letter-spacing: 1px;
    color: #FFD36A;
}

.landing-brand-access {
    margin-left: 12px;
    padding-left: 12px;
    border-left: 1px solid rgba(255,255,255,0.45);
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.8px;
}

.landing-steps {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.landing-step {
    display: flex;
    gap: 12px;
    background: #ffffff;
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
    padding: 15px;
}

.landing-step-number {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #EAF4F5;
    color: #2f6f73;
    border: 1px solid #61A6AB;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.landing-step-title {
    font-weight: bold;
    color: #222222;
    margin-bottom: 5px;
}

.landing-step-text {
    color: #666666;
    font-size: 12px;
    line-height: 1.5;
}

.landing-sales-page {
    overflow: hidden;
}

.landing-sales-hero {
    position: relative;
    padding: 54px 52px 42px;
    text-align: center;
    background:
        radial-gradient(circle at 78% 12%, rgba(214,164,87,0.16), transparent 28%),
        linear-gradient(180deg, #fffdf7 0%, #ffffff 100%);
    border-bottom: 4px solid #61A6AB;
}

.landing-sales-hero h1 {
    max-width: 820px;
    margin: 0 auto 18px;
    color: #161616;
    font-size: 38px;
    line-height: 1.18;
}

.landing-sales-hero p {
    max-width: 720px;
    margin: 0 auto;
    color: #4f5f61;
    font-size: 15px;
    line-height: 1.75;
}

.landing-sales-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 28px;
}

.landing-sales-proof {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 24px;
}

.landing-sales-proof span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 12px;
    border: 1px solid #CFE8EA;
    border-radius: 999px;
    background: #ffffff;
    color: #2f6f73;
    font-size: 11px;
    font-weight: 800;
}

.landing-sales-proof-link {
    display: inline-flex;
    border-radius: 999px;
    text-decoration: none;
    transition: transform 0.18s ease;
}

.landing-sales-proof-link span {
    background: #f4fbfb;
    border-color: #b8dfe1;
}

.landing-sales-proof-link:hover {
    transform: translateY(-2px);
}

.landing-sales-proof-link:hover span {
    border-color: #61A6AB;
    box-shadow: 0 5px 14px rgba(97,166,171,0.18);
    background: #f4fbfb;
}

.landing-live-ticker {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
    background: #ffffff;
    border-bottom: 1px solid #DDEEEE;
}

.landing-live-label {
    flex-shrink: 0;
    padding: 7px 12px;
    border-radius: 999px;
    background: #1f3f43;
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.landing-live-track {
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
}

.landing-live-scroll {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    min-width: max-content;
    animation: dashboardTickerScroll 88s linear infinite;
}

.landing-live-scroll span {
    position: relative;
    color: #485558;
    font-size: 12px;
}

.landing-live-scroll span::after {
    content: "•";
    margin-left: 20px;
    color: #d6a457;
    font-weight: 800;
}

.landing-live-scroll strong {
    color: #2f6f73;
    font-weight: 800;
}

.landing-live-ticker:hover .landing-live-scroll {
    animation-play-state: paused;
}

.landing-sales-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 22px 30px;
    background: #F8FBFB;
    border-bottom: 1px solid #DDEEEE;
}

/* Les encarts de confiance de la landing reprennent le rendu compact du dashboard. */
.landing-sales-page .dashboard-trust-grid {
    gap: 12px;
    margin-bottom: 16px;
}

.landing-sales-page .dashboard-zero-margin-banner {
    gap: 12px;
    padding: 12px 16px;
    border-width: 1px;
    border-radius: 12px;
    box-shadow: 0 6px 16px rgba(97,166,171,0.10);
}

.landing-sales-page .dashboard-zero-margin-badge {
    border-radius: 9px;
    font-size: 10px;
    letter-spacing: 0.3px;
    padding: 8px 10px;
}

.landing-sales-page .dashboard-zero-margin-title {
    font-size: 13px;
    margin-bottom: 2px;
}

.landing-sales-page .dashboard-zero-margin-text {
    font-size: 11px;
    line-height: 1.35;
}

.landing-sales-kpi {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 88px;
    padding: 16px;
    text-align: center;
    background: #ffffff;
    border: 1px solid #DDEEEE;
    border-radius: 10px;
}

.landing-sales-kpi strong {
    display: block;
    margin-bottom: 7px;
    color: #2f6f73;
    font-size: 28px;
    line-height: 1;
}

.landing-sales-kpi span {
    color: #5c6668;
    font-size: 12px;
    line-height: 1.45;
}

.landing-sales-kpi-link {
    background: linear-gradient(135deg, #e5f4f5 0%, #f4fbfb 100%);
    border-color: #b8dfe1;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.landing-sales-kpi-link:hover {
    border-color: #61A6AB;
    box-shadow: 0 8px 18px rgba(97,166,171,0.16);
    transform: translateY(-2px);
}

.landing-sales-content {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.landing-sales-section {
    border: 1px solid #e4eeee;
    border-radius: 8px;
    padding: 24px;
    background: #ffffff;
}

.landing-sales-section-header {
    margin-bottom: 18px;
}

.landing-sales-section-header span {
    display: inline-block;
    margin-bottom: 7px;
    color: #2f6f73;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.landing-sales-section-header h2 {
    margin: 0;
    color: #1f1f1f;
    font-size: 22px;
    line-height: 1.25;
}

.landing-section-header-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.landing-sales-value-grid,
.landing-sales-store-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.landing-sales-value-card,
.landing-sales-store-card {
    padding: 18px;
    border: 1px solid #DDEEEE;
    border-left: 4px solid #61A6AB;
    border-radius: 10px;
    background: #fbfdfd;
}

.landing-sales-value-card-strong {
    background: #EAF4F5;
    border-color: #61A6AB;
    box-shadow: 0 8px 20px rgba(97,166,171,0.14);
}

.landing-pricing-teaser {
    background:
        radial-gradient(circle at 92% 8%, rgba(214,164,87,0.10), transparent 28%),
        #ffffff;
}

.landing-pricing-teaser-actions {
    display: flex;
    justify-content: center;
    margin-top: 18px;
}

.landing-open-missions-section {
    background:
        radial-gradient(circle at 90% 0%, rgba(214,164,87,0.12), transparent 34%),
        #ffffff;
}

.landing-mission-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.landing-mission-card {
    display: flex;
    min-height: 172px;
    flex-direction: column;
    gap: 9px;
    padding: 15px;
    color: inherit;
    text-decoration: none;
    border: 1px solid #DDEEEE;
    border-top: 4px solid #61A6AB;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 22px rgba(31,63,67,0.07);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.landing-mission-card:hover {
    transform: translateY(-2px);
    border-color: #61A6AB;
    box-shadow: 0 16px 28px rgba(31,63,67,0.12);
}

.landing-mission-source {
    color: #2f6f73;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.landing-mission-card strong {
    color: #1f1f1f;
    font-size: 14px;
    line-height: 1.25;
}

.landing-mission-card > span:not(.landing-mission-source) {
    color: #5c6668;
    font-size: 12px;
    line-height: 1.4;
}

.landing-mission-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: auto;
}

.landing-mission-meta small {
    padding: 5px 7px;
    border-radius: 999px;
    background: #f4f9f9;
    color: #2f6f73;
    font-size: 10px;
    font-weight: 800;
}

/* Public SEO discovery blocks */
.public-related-missions-section,
.public-recommended-features-section {
    margin-top: 24px;
    background:
        radial-gradient(circle at 92% 0%, rgba(214,164,87,0.10), transparent 32%),
        #ffffff;
}

.connected-related-missions-section {
    width: 900px;
    max-width: calc(100% - 80px);
    box-sizing: border-box;
    margin: 40px auto;
}

.public-related-missions-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.public-related-mission-card {
    min-height: 158px;
}

.public-recommended-features-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.public-recommended-feature-card {
    display: flex;
    min-height: 172px;
    flex-direction: column;
    gap: 9px;
    padding: 17px;
    color: inherit;
    text-decoration: none;
    border: 1px solid #DDEEEE;
    border-left: 4px solid #61A6AB;
    border-radius: 10px;
    background: #fbfdfd;
    box-shadow: 0 10px 22px rgba(31,63,67,0.06);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.public-recommended-feature-card:hover,
.public-recommended-feature-card:focus-visible {
    transform: translateY(-2px);
    border-color: #61A6AB;
    box-shadow: 0 16px 28px rgba(31,63,67,0.12);
}

.public-recommended-feature-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #2f6f73;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.public-recommended-feature-top img,
.public-recommended-feature-icon {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.public-recommended-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #d6a457;
    font-size: 24px;
}

.public-recommended-feature-card strong {
    color: #1f1f1f;
    font-size: 15px;
    line-height: 1.25;
}

.public-recommended-feature-card p {
    margin: 0;
    color: #5c6668;
    font-size: 12px;
    line-height: 1.45;
}

.public-recommended-feature-link {
    margin-top: auto;
    color: #2f6f73;
    font-size: 12px;
    font-weight: 800;
}

@media (max-width: 1050px) {
    .public-related-missions-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .public-related-missions-grid,
    .public-recommended-features-grid {
        grid-template-columns: 1fr;
    }
}

.landing-sales-workflows {
    background: #fbfdfd;
}

.landing-sales-workflow-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.landing-sales-workflow-card {
    display: flex;
    gap: 14px;
    padding: 16px;
    border: 1px solid #DDEEEE;
    border-radius: 10px;
    background: #ffffff;
}

.landing-sales-workflow-cta {
    min-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.landing-sales-workflow-number {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #2f6f73;
    color: #ffffff;
    font-weight: 800;
    font-size: 12px;
}

.landing-store-recommended-section {
    background:
        radial-gradient(circle at 92% 8%, rgba(214,164,87,0.13), transparent 30%),
        linear-gradient(135deg, #ffffff 0%, #f8fbfb 100%);
}

.landing-store-recommended-intro {
    max-width: 820px;
    margin: -4px 0 18px;
    color: #4f5f61;
    font-size: 13px;
    line-height: 1.7;
}

.landing-store-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.landing-store-feature-card {
    position: relative;
    min-height: 230px;
    display: flex;
    flex-direction: column;
    gap: 11px;
    padding: 18px;
    color: inherit;
    text-decoration: none;
    border: 1px solid #DDEEEE;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 12px 24px rgba(31,63,67,0.07);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.landing-store-feature-card:hover {
    transform: translateY(-2px);
    border-color: #61A6AB;
    box-shadow: 0 18px 32px rgba(31,63,67,0.12);
}

.landing-store-feature-badge,
.landing-store-feature-price {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    min-height: 26px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.landing-store-feature-badge {
    background: #EAF4F5;
    color: #2f6f73;
}

.landing-store-feature-price {
    position: absolute;
    top: 18px;
    right: 18px;
    background: #fff3db;
    color: #8a5b16;
}

.landing-store-feature-icon {
    width: 58px;
    height: 58px;
    margin-top: 6px;
    object-fit: contain;
    filter: drop-shadow(0 10px 18px rgba(31,63,67,0.12));
}

.landing-store-feature-card strong {
    color: #1f1f1f;
    font-size: 16px;
    line-height: 1.3;
}

.landing-store-feature-card > span:not(.landing-store-feature-badge):not(.landing-store-feature-price) {
    color: #5c6668;
    font-size: 12px;
    line-height: 1.55;
}

.landing-store-recommended-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 16px;
    padding: 16px;
    border: 1px solid #f0d7ab;
    border-radius: 8px;
    background: rgba(255,255,255,0.82);
}

.landing-store-recommended-footer strong {
    display: block;
    margin-bottom: 5px;
    color: #1f1f1f;
    font-size: 13px;
}

.landing-store-recommended-footer span {
    color: #5c6668;
    font-size: 12px;
    line-height: 1.5;
}

.landing-sales-highlight {
    display: grid;
    grid-template-columns: 1.55fr 0.75fr;
    gap: 20px;
    align-items: center;
    background: linear-gradient(135deg, #EAF4F5 0%, #ffffff 70%);
    border-color: #CFE8EA;
}

.landing-sales-highlight p {
    margin: 0;
    color: #4f5f61;
    font-size: 13px;
    line-height: 1.7;
}

.landing-seo-inline-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.landing-sales-highlight-card {
    min-height: 140px;
    padding: 20px;
    border: 1px solid #9ed5af;
    border-radius: 12px;
    background: #eef8f0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.landing-sales-highlight-card strong {
    color: #2f6f3d;
    font-size: 44px;
    line-height: 1;
}

.landing-sales-highlight-card span {
    margin-top: 10px;
    color: #2f6f3d;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.45;
}

.landing-cost-section {
    background: linear-gradient(135deg, #ffffff 0%, #fffaf1 100%);
}

.landing-seo-link-box {
    margin-top: 16px;
}

.landing-sales-final-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 26px;
    border-radius: 12px;
    background: #1f3f43;
    color: #ffffff;
}

.landing-sales-final-cta h2 {
    margin: 0 0 8px;
    color: #ffffff;
    font-size: 22px;
}

.landing-sales-final-cta p {
    margin: 0;
    max-width: 560px;
    color: rgba(255,255,255,0.82);
    font-size: 13px;
    line-height: 1.6;
}

.landing-sales-final-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
    flex-shrink: 0;
}

.landing-sales-final-actions .submit-button.secondary {
    background: rgba(255,255,255,0.12);
    color: #ffffff;
    border-color: rgba(255,255,255,0.28);
}

.offer-sales-hero {
    background:
        radial-gradient(circle at 78% 12%, rgba(214,164,87,0.16), transparent 28%),
        linear-gradient(180deg, #fffdf7 0%, #ffffff 100%);
}

.offer-pricing-hero h1 {
    max-width: 760px;
}

.offer-pricing-summary {
    grid-template-columns: 1fr 1.15fr 1fr;
}

.offer-sales-pricing {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr;
    gap: 14px;
    padding: 22px 30px;
    background: #F8FBFB;
    border-bottom: 1px solid #DDEEEE;
}

.offer-sales-price-card {
    min-height: 122px;
    padding: 18px;
    border: 1px solid #DDEEEE;
    border-radius: 12px;
    background: #ffffff;
}

.offer-sales-price-card span {
    display: block;
    margin-bottom: 8px;
    color: #2f6f73;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.offer-sales-price-card strong {
    display: block;
    margin-bottom: 8px;
    color: #1f1f1f;
    font-size: 30px;
    line-height: 1;
}

.offer-sales-price-card p {
    margin: 0;
    color: #5c6668;
    font-size: 12px;
    line-height: 1.55;
}

.offer-sales-price-main {
    background: #eef8f0;
    border-color: #9ed5af;
}

.offer-sales-price-main strong {
    color: #2f6f3d;
    font-size: 42px;
}

.offer-sales-benefit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.offer-sales-benefit-card {
    padding: 18px;
    border: 1px solid #DDEEEE;
    border-left: 4px solid #61A6AB;
    border-radius: 10px;
    background: #fbfdfd;
}

.offer-model-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.offer-model-card {
    min-height: 190px;
    padding: 18px;
    border: 1px solid #DDEEEE;
    border-radius: 8px;
    background: #ffffff;
}

.offer-model-card span {
    display: inline-flex;
    margin-bottom: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f4f9f9;
    color: #2f6f73;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.offer-model-card strong {
    display: block;
    margin-bottom: 10px;
    color: #1f1f1f;
    font-size: 16px;
    line-height: 1.35;
}

.offer-model-card p {
    margin: 0;
    color: #5c6668;
    font-size: 12px;
    line-height: 1.6;
}

.offer-model-card-muted {
    background: #fbfdfd;
}

.offer-model-card-strong {
    border-color: #61A6AB;
    background: linear-gradient(135deg, #EAF4F5 0%, #ffffff 78%);
    box-shadow: 0 12px 26px rgba(97,166,171,0.14);
}

.offer-sales-included {
    background: #fbfdfd;
}

.offer-sales-included-grid {
    display: grid;
    gap: 10px;
}

.offer-sales-included-row {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid #DDEEEE;
    border-radius: 10px;
    background: #ffffff;
}

.offer-sales-included-row strong {
    color: #2f6f73;
    font-size: 13px;
}

.offer-sales-included-row span {
    color: #5c6668;
    font-size: 12px;
    line-height: 1.5;
}

.offer-sales-margin {
    display: grid;
    grid-template-columns: 1.45fr 0.85fr;
    gap: 22px;
    align-items: center;
    background: linear-gradient(135deg, #EAF4F5 0%, #ffffff 72%);
}

.offer-sales-margin p {
    margin: 0;
    color: #4f5f61;
    font-size: 13px;
    line-height: 1.7;
}

.offer-sales-margin-list {
    display: grid;
    gap: 10px;
}

.offer-sales-margin-list div {
    padding: 12px 14px;
    border: 1px solid #CFE8EA;
    border-radius: 999px;
    background: #ffffff;
    color: #2f6f73;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

.offer-paid-section {
    background: linear-gradient(135deg, #ffffff 0%, #fffaf1 100%);
}

.offer-store-link-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 16px;
    padding: 16px;
    border: 1px solid #f0d7ab;
    border-radius: 8px;
    background: rgba(255,255,255,0.78);
}

.offer-store-link-box strong {
    display: block;
    margin-bottom: 5px;
    color: #1f1f1f;
    font-size: 13px;
}

.offer-store-link-box span {
    color: #5c6668;
    font-size: 12px;
    line-height: 1.5;
}

.offer-sales-faq {
    border: 1px solid #e4eeee;
    border-radius: 12px;
    padding: 24px;
    background: #ffffff;
}

.offer-sales-faq-grid {
    display: grid;
    gap: 10px;
}

.offer-sales-faq-item {
    padding: 15px;
    border: 1px solid #DDEEEE;
    border-radius: 10px;
    background: #fbfdfd;
}

.offer-sales-faq-item strong,
.offer-sales-faq-item h3 {
    display: block;
    margin-bottom: 6px;
    color: #1f1f1f;
    font-size: 13px;
}

.offer-sales-faq-item h3 {
    margin-top: 0;
}

.offer-sales-faq-item span {
    color: #5c6668;
    font-size: 12px;
    line-height: 1.5;
}

.anonymisation-hero {
    background:
        radial-gradient(circle at 18% 20%, rgba(97,166,171,0.16), transparent 30%),
        radial-gradient(circle at 82% 12%, rgba(214,164,87,0.18), transparent 28%),
        linear-gradient(180deg, #fffdf7 0%, #ffffff 100%);
}

.anonymisation-hero h1 {
    max-width: 880px;
}

.anonymisation-hero-visual {
    display: grid;
    grid-template-columns: minmax(220px, 0.65fr) minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    max-width: 860px;
    margin: 34px auto 0;
    padding: 18px;
    text-align: left;
    border: 1px solid #DDEEEE;
    border-radius: 8px;
    background: rgba(255,255,255,0.86);
    box-shadow: 0 18px 40px rgba(31,63,67,0.10);
}

.anonymisation-hero-image {
    appearance: none;
    border: 0;
    padding: 0;
    cursor: zoom-in;
    min-height: 248px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background:
        radial-gradient(circle at 50% 42%, rgba(97,166,171,0.16), transparent 34%),
        linear-gradient(135deg, #f7fbfb 0%, #ffffff 100%);
    overflow: hidden;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.anonymisation-hero-image:hover,
.anonymisation-hero-image:focus-visible {
    cursor: zoom-in;
    transform: translateY(-2px);
    box-shadow: 0 16px 28px rgba(31,63,67,0.12);
}

.anonymisation-hero-image * {
    cursor: zoom-in;
}

.anonymisation-hero-image:focus-visible {
    outline: 3px solid rgba(97,166,171,0.35);
    outline-offset: 3px;
}

.anonymisation-hero-image img {
    width: auto;
    max-width: 100%;
    max-height: 260px;
    object-fit: contain;
    filter: drop-shadow(0 14px 20px rgba(31,63,67,0.12));
    pointer-events: none;
}

body.anonymisation-image-modal-opened {
    overflow: hidden;
}

.anonymisation-image-modal .onboarding-image-modal-frame {
    width: auto;
    height: auto;
    max-width: calc(100vw - 72px);
    max-height: calc(100vh - 72px);
    align-items: flex-start;
    overflow: auto;
    padding: 18px;
}

.anonymisation-image-modal .onboarding-image-modal-frame img {
    width: 737px;
    max-width: calc(100vw - 110px);
    height: auto;
    max-height: none;
    flex: 0 0 auto;
    image-rendering: auto;
}

.anonymisation-profile-panel {
    min-width: 0;
}

.anonymisation-profile-label {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #EAF4F5;
    color: #2f6f73;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.anonymisation-profile-panel strong {
    display: block;
    color: #1f1f1f;
    font-size: 22px;
    line-height: 1.25;
}

.anonymisation-profile-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 14px 0 16px;
}

.anonymisation-profile-tags span {
    display: inline-flex;
    padding: 6px 9px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #CFE8EA;
    color: #2f6f73;
    font-size: 11px;
    font-weight: 800;
}

.anonymisation-mask-list {
    display: grid;
    gap: 10px;
}

.anonymisation-mask-list div {
    padding: 12px 0 0;
    border-top: 1px solid #DDEEEE;
    color: #5c6668;
    font-size: 12px;
    line-height: 1.55;
}

.anonymisation-mask-list div:first-child {
    padding-top: 0;
    border-top: 0;
}

.anonymisation-mask-list div span {
    display: block;
    margin-bottom: 3px;
    color: #1f1f1f;
    font-weight: 800;
}

.anonymisation-kpis .landing-sales-kpi:nth-child(1) strong {
    color: #2f6f3d;
}

.anonymisation-comparison-section {
    background:
        radial-gradient(circle at 92% 6%, rgba(97,166,171,0.10), transparent 30%),
        #ffffff;
}

.anonymisation-comparison-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.anonymisation-comparison-card {
    min-height: 265px;
    padding: 18px;
    border: 1px solid #DDEEEE;
    border-radius: 8px;
    background: #fbfdfd;
}

.anonymisation-comparison-card > span {
    display: inline-flex;
    margin-bottom: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.anonymisation-comparison-card strong {
    display: block;
    margin-bottom: 12px;
    color: #1f1f1f;
    font-size: 16px;
    line-height: 1.35;
}

.anonymisation-comparison-card ul {
    margin: 0;
    padding-left: 18px;
}

.anonymisation-comparison-card li {
    margin-bottom: 8px;
    color: #5c6668;
    font-size: 12px;
    line-height: 1.45;
}

.anonymisation-comparison-visible {
    border-left: 4px solid #61A6AB;
}

.anonymisation-comparison-visible > span {
    color: #2f6f73;
    background: #EAF4F5;
}

.anonymisation-comparison-hidden {
    border-left: 4px solid #d6a457;
    background: #fffdf7;
}

.anonymisation-comparison-hidden > span {
    color: #8a5b16;
    background: #fff3db;
}

.anonymisation-ai-section {
    background:
        radial-gradient(circle at 10% 12%, rgba(214,164,87,0.13), transparent 28%),
        linear-gradient(135deg, #ffffff 0%, #f8fbfb 100%);
}

.anonymisation-ai-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.anonymisation-ai-card {
    min-height: 190px;
    padding: 18px;
    border: 1px solid #DDEEEE;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 22px rgba(31,63,67,0.06);
}

.anonymisation-ai-card span {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    border-radius: 50%;
    background: #1f3f43;
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
}

.anonymisation-ai-card strong {
    display: block;
    margin-bottom: 9px;
    color: #1f1f1f;
    font-size: 15px;
    line-height: 1.35;
}

.anonymisation-ai-card p {
    margin: 0;
    color: #5c6668;
    font-size: 12px;
    line-height: 1.6;
}

.anonymisation-flow-section {
    background: #fbfdfd;
}

.anonymisation-business-section {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.7fr);
    gap: 22px;
    align-items: center;
    background: linear-gradient(135deg, #EAF4F5 0%, #ffffff 74%);
    border-color: #CFE8EA;
}

.anonymisation-business-section p {
    margin: 0;
    color: #4f5f61;
    font-size: 13px;
    line-height: 1.75;
}

.anonymisation-business-proof {
    padding: 20px;
    border: 1px solid #f0d7ab;
    border-radius: 8px;
    background:
        radial-gradient(circle at 86% 12%, rgba(214,164,87,0.18), transparent 28%),
        #ffffff;
    box-shadow: 0 12px 26px rgba(31,63,67,0.08);
}

.anonymisation-business-proof strong {
    display: block;
    margin-bottom: 10px;
    color: #1f1f1f;
    font-size: 18px;
    line-height: 1.3;
}

.anonymisation-business-proof span {
    color: #5c6668;
    font-size: 12px;
    line-height: 1.6;
}

.anonymisation-usecases-section {
    background: linear-gradient(135deg, #ffffff 0%, #fffaf1 100%);
}

@media (max-width: 900px) {
    .anonymisation-hero-visual,
    .anonymisation-comparison-grid,
    .anonymisation-ai-grid,
    .anonymisation-business-section {
        grid-template-columns: 1fr;
    }

    .anonymisation-hero-visual {
        text-align: center;
    }

    .anonymisation-profile-tags {
        justify-content: center;
    }
}

/* Catalogue public des tarifs : cartes lisibles, sans style de lien navigateur */
.tarifs-page .tarifs-catalogue-section {
    background: #fbfdfd;
}

.tarifs-category-block + .tarifs-category-block {
    margin-top: 36px;
}

.tarifs-category-block h3 {
    margin: 0 0 12px;
    color: #365b5f;
    font-size: 16px;
    line-height: 1.3;
}

.tarifs-page .tarifs-feature-card {
    grid-template-columns: minmax(210px, .75fr) minmax(0, 1.6fr) auto;
    align-items: center;
    gap: 18px;
    min-height: 96px;
    padding: 18px 20px;
    box-sizing: border-box;
    border: 1px solid #cfe1e3;
    background: linear-gradient(135deg, #ffffff 0%, #fbfefe 100%);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 5px 14px rgba(47, 111, 115, .07);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.tarifs-page .tarifs-catalogue-section .offer-sales-included-grid {
    gap: 16px;
}

.tarifs-page .tarifs-feature-card:hover,
.tarifs-page .tarifs-feature-card:focus-visible {
    border-color: #61A6AB;
    box-shadow: 0 10px 24px rgba(61, 113, 117, .15);
    transform: translateY(-1px);
}

.tarifs-feature-main {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.tarifs-feature-main strong {
    color: #2f6f73;
    font-size: 13px;
    line-height: 1.35;
    text-decoration: none;
}

.tarifs-feature-main small {
    color: #7a9294;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none;
}

.tarifs-feature-description {
    min-width: 0;
    color: #5c6668;
    font-size: 12px;
    line-height: 1.55;
}

.tarifs-feature-price {
    min-width: 104px;
    justify-content: center;
    color: #2f6f73;
    text-decoration: none;
    white-space: nowrap;
}

.tarifs-faq-section {
    background: linear-gradient(135deg, #f7fbfb 0%, #ffffff 76%);
}

@media (max-width: 900px) {
    .tarifs-page .tarifs-feature-card {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .tarifs-feature-price {
        width: fit-content;
    }
}

@media (max-width: 640px) {
    .anonymisation-hero {
        background:
            radial-gradient(circle at 50% 4%, rgba(97,166,171,0.16), transparent 34%),
            linear-gradient(180deg, #f7fbfb 0%, #ffffff 100%);
    }

    .anonymisation-hero-visual {
        padding: 14px;
    }

    .anonymisation-hero-image {
        min-height: 200px;
    }

    .anonymisation-image-modal {
        padding: 18px;
    }

    .anonymisation-image-modal .onboarding-image-modal-frame {
        max-width: calc(100vw - 36px);
        max-height: calc(100vh - 36px);
        padding: 14px;
    }

    .anonymisation-image-modal .onboarding-image-modal-frame img {
        width: auto;
        max-width: calc(100vw - 64px);
    }

    .anonymisation-profile-panel strong {
        font-size: 18px;
    }
}

@media (max-width: 900px) {
    .landing-sales-value-grid,
    .landing-sales-store-grid,
    .landing-sales-kpis,
    .landing-mission-grid,
    .offer-sales-pricing,
    .offer-sales-benefit-grid {
        grid-template-columns: 1fr;
    }

    .offer-model-grid {
        grid-template-columns: 1fr;
    }

    .landing-sales-workflow-grid,
    .landing-sales-highlight,
    .offer-sales-margin,
    .landing-store-feature-grid {
        grid-template-columns: 1fr;
    }

    .offer-sales-included-row {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .landing-sales-final-cta {
        align-items: flex-start;
        flex-direction: column;
    }

    .landing-section-header-row {
        flex-direction: column;
    }

    .offer-store-link-box {
        align-items: flex-start;
        flex-direction: column;
    }

    .landing-store-recommended-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    .landing-sales-hero {
        padding: 38px 24px 34px;
        background-image: linear-gradient(180deg, #f7fbfb 0%, #ffffff 100%);
    }

    .landing-sales-hero h1 {
        font-size: 26px;
    }

    .landing-sales-section {
        padding: 18px;
    }

    .landing-live-ticker {
        align-items: flex-start;
        flex-direction: column;
    }
}

.dashboard-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: #EAF4F5;
    border: 1px solid #61A6AB;
    border-left: 4px solid #61A6AB;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 18px;
}

.dashboard-hero-title {
    font-size: 18px;
    font-weight: bold;
    color: #2f6f73;
    margin-bottom: 6px;
}

.dashboard-hero-text {
    color: #555555;
    font-size: 13px;
    line-height: 1.6;
}

.dashboard-kpi-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 18px;
}

.dashboard-kpi-card {
    background: #ffffff;
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
    padding: 16px;
    text-align: center;
}

.dashboard-kpi-card span {
    display: block;
    color: #888888;
    font-size: 11px;
    margin-bottom: 6px;
}

.dashboard-kpi-card strong {
    color: #2f6f73;
    font-size: 18px;
}

.sa-menu-v2 {
    width: 900px;
    margin: 25px auto -20px;
    background: #ffffff;
    border: 1px solid #dddddd;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    padding: 12px 16px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.sa-menu-v2-left {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sa-menu-brand {
    display: flex;
    align-items: center;
    gap: 0px;
    text-decoration: none;
}

.sa-brand-logo {
    width: 40px;
    height: 40px;
    object-fit: contain;
    flex-shrink: 0;
    margin-right:10px;
}

.sa-brand-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.sa-brand-main {
    display: flex;
    align-items: baseline;
    gap: 4px;
    white-space: nowrap;
}

.sa-brand-studio {
    color: #333333;
    font-size: 17px;
    font-weight: 300;
    letter-spacing: 0.4px;
}

.sa-brand-tech {
    color: #61A6AB;
    font-size: 17px;
    font-weight: 300;
    letter-spacing: 0.4px;
}

.sa-brand-access {
    margin-left: 8px;
    padding-left: 8px;
    border-left: 1px solid #dddddd;
    color: #2f6f73;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 0.6px;
}

.sa-brand-tagline {
    color: #666666;
    font-size: 9px;
    font-weight: 500;
    line-height: 1.2;
    max-width: 220px;
}

.sa-menu-v2-links {
    display: flex;
    align-items: center;
    gap: 2px;
    transform: translateY(2px);
}

.sa-menu-v2 .sa-menu-link {
    font-size: 12px;
    color: #444444;
    text-decoration: none;
    font-weight: bold;
    padding: 6px 15px 6px 8px;
    border-radius: 99px;
}

.sa-menu-v2 .sa-menu-link:hover,
.sa-menu-v2 .sa-menu-link.active {
    background: #EAF4F5;
    color: #2f6f73;
}

.sa-menu-v2-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.sa-menu-context {
    text-align: right;
    font-size: 11px;
    line-height: 1.2;
    color: #777777;
}

.sa-menu-context strong {
    display: block;
    color: #333333;
}

.sa-menu-context span {
    display: block;
    color: #888888;
}

.dashboard-hero .submit-button {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.mission-filter-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr auto;
    gap: 10px;
    align-items: center;
}

.mission-list {
    display: grid;
    gap: 12px;
}

.mission-card {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    background: #ffffff;
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
    padding: 16px;
}

.mission-title {
    font-weight: bold;
    font-size: 15px;
    color: #222222;
    margin-bottom: 5px;
}

.mission-meta {
    color: #777777;
    font-size: 12px;
    margin-bottom: 10px;
}

.mission-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.mission-tags span {
    background: #EAF4F5;
    color: #2f6f73;
    border: 1px solid #CFE8EA;
    border-radius: 99px;
    padding: 4px 8px;
    font-size: 11px;
    font-weight: bold;
}

.mission-card-side {
    min-width: 150px;
    text-align: right;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
}

.mission-rate {
    font-weight: bold;
    color: #2f6f73;
    font-size: 14px;
}

.mission-card-clickable {
    text-decoration: none;
    color: inherit;
    display: block;
}

.mission-card-clickable:hover {
    border-color: #61A6AB;
    background: #F6FBFC;
}

.mission-card-header {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.mission-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    border-top: 1px solid #eeeeee;
    padding-top: 14px;
}

.mission-info-item span {
    display: block;
    color: #666666;
    font-size: 11px;
    font-weight: bold;
    margin-bottom: 4px;
}

.mission-info-item strong {
    color: #222222;
    font-size: 12px;
}

.mission-card {
    cursor: pointer;
}

/* =========================
   MISSIONS - CARTES V2
   ========================= */

.mission-card-v2 {
    display: block;
    border-left: 0;
    padding: 20px;
    margin-bottom: 16px;
    text-decoration: none;
    color: inherit;
    background: #ffffff;
}

.mission-card-v2:hover {
    background: #F8FBFB;
    border-color: #61A6AB;
    box-shadow: 0 6px 18px rgba(0,0,0,0.10);
    transform: translateY(-1px);
}

.mission-card-v2-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.mission-rate-pill {
    background: #EAF4F5;
    color: #2f6f73;
    border: 1px solid #CFE8EA;
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: bold;
    white-space: nowrap;
}

.mission-card-v2-aside {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.mission-card-views-badge {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 28px;
    box-sizing: border-box;
    overflow: hidden;
    padding: 5px 10px;
    border: 1px solid #bcdcdf;
    border-radius: 999px;
    background: linear-gradient(135deg, #f1f9f9 0%, #ffffff 100%);
    box-shadow: 0 4px 12px rgba(47, 111, 115, 0.09);
    color: #2f6f73;
    white-space: nowrap;
}

.mission-card-views-badge span {
    color: #66868a;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.35px;
    line-height: 1;
    text-transform: uppercase;
}

.mission-card-views-badge strong {
    color: #245b60;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
}

.mission-info-grid-v2 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding-top: 14px;
    border-top: 1px solid #eeeeee;
}

.mission-info-grid-v3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding-top: 14px;
    border-top: 1px solid #eeeeee;
}

.mission-info-pill {
    background: #f5f7f8;
    border: 1px solid #eeeeee;
    border-radius: 10px;
    padding: 10px 12px;
}

.mission-info-pill span {
    display: block;
    color: #888888;
    font-size: 10px;
    font-weight: bold;
    margin-bottom: 4px;
}

.mission-info-pill strong {
    display: block;
    color: #333333;
    font-size: 12px;
    line-height: 1.35;
}

.mission-info-pill.muted {
    background: #fafafa;
}

.mission-info-pill.muted span,
.mission-info-pill.muted strong {
    color: #777777;
}

.pagination-top {
    margin-top: 12px;
    margin-bottom: 14px;
}

.mission-description {
    font-size: 13px;
    line-height: 1.65;
    color: #333333;
}

.mission-description h1,
.mission-description h2,
.mission-description h3 {
    font-size: 15px;
    margin: 18px 0 8px;
    color: #222222;
}

.mission-description ul {
    margin: 8px 0 14px 20px;
}

.mission-description li {
    margin-bottom: 5px;
}

.mission-position-grid {
    margin-top: 18px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 18px;
}

.form-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.form-group {
    margin-bottom: 12px;
}

.form-group label {
    display: block;
    font-size: 12px;
    font-weight: bold;
    color: #333333;
    margin-bottom: 6px;
}

.field-hint {
    margin-top: 5px;
    font-size: 11px;
    color: #888888;
}

.finance-box {
    background: #f8fbfb;
}

.finance-main-value {
    background: #EAF4F5;
    border: 1px solid #CFE8EA;
    border-radius: 10px;
    padding: 16px;
    text-align: center;
    margin-bottom: 14px;
}

.finance-main-value span,
.finance-main-value small {
    display: block;
    color: #666666;
    font-size: 11px;
}

.finance-main-value strong {
    display: block;
    color: #2f6f73;
    font-size: 24px;
    margin: 8px 0;
}

.finance-simulation-list {
    display: grid;
    gap: 8px;
}

.finance-simulation-list div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    padding: 10px;
}

.finance-simulation-list span {
    color: #777777;
    font-size: 12px;
}

.finance-simulation-list strong {
    color: #333333;
    font-size: 13px;
}

.finance-note {
    margin-top: 12px;
    font-size: 11px;
    color: #888888;
    line-height: 1.4;
}

.cv-url-row {
    display: flex;
    gap: 8px;
    align-items: center;
}

.cv-url-input {
    flex: 1;
    background: #f1f1f1;
    color: #555555;
}

.cv-url-open {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: #EAF4F5;
    border: 1px solid #CFE8EA;
    color: #2f6f73;
    font-weight: bold;
    text-decoration: none;
    align-items: center;
    justify-content: center;
}

.positionnement-locked-box {
    background: #f7f7f7;
    border: 1px solid #dddddd;
}

.positionnement-confirmed-box,
.finance-confirmed-box {
    background: #F0FAF7;
    border-color: #61A66F;
}

.positionnement-status-badge {
    background: #E0F5E8;
    border-color: #61A66F;
    color: #2f6f3d;
    text-transform: uppercase;
}

.positionnement-two-cols {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
}

.positionnement-two-cols > div {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    padding: 12px;
}

.positionnement-confirmed-box,
.finance-confirmed-box {
    min-height: 360px;
}

.positionnement-comment-box {
    height: 118px;
    overflow-y: auto;
}

.positionnement-comment-box strong {
    display: block;
    max-height: 86px;
    overflow-y: auto;
}

.hero-small-button {
    max-width: 210px;
    padding-left: 16px;
    padding-right: 16px;
}

.mission-position-form-box {
    width: 100%;
    box-sizing: border-box;
}

.mission-position-form-box form {
    display: grid;
    gap: 18px;
}

.mission-position-form-box .process-title {
    margin-bottom: 18px;
}

.mission-position-form-box .form-group {
    margin-bottom: 0;
}

.mission-position-form-box .form-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
    min-width: 0;
}

.mission-position-form-box .form-grid-2 > .form-group {
    min-width: 0;
    min-inline-size: 0;
}

.mission-position-form-box .form-grid-2 .input-field {
    min-width: 0;
    max-width: 100%;
}

.mission-position-form-box input[type="date"] {
    display: block;
    width: 100%;
    inline-size: 100%;
    min-width: 0;
    min-inline-size: 0;
    max-width: 100%;
    max-inline-size: 100%;
    -webkit-min-logical-width: 0;
}

@media (hover: none) and (pointer: coarse) {
    .mission-position-form-box input[type="date"] {
        -webkit-appearance: none;
        appearance: none;
    }

    .mission-position-form-box input[type="date"]::-webkit-date-and-time-value,
    .mission-position-form-box input[type="date"]::-webkit-datetime-edit {
        min-width: 0;
        padding: 0;
    }
}

.mission-position-form-box .note-textarea {
    min-height: 112px;
}

.mission-position-form-box + .detail-side .finance-box,
.detail-side .finance-box {
    display: flex;
    flex-direction: column;
}

.detail-side .finance-box .process-title {
    margin-bottom: 18px;
}

.detail-side .finance-main-value {
    padding-top: 22px;
    padding-bottom: 22px;
}

.detail-side .finance-simulation-list {
    gap: 10px;
}

.detail-side .finance-note {
    margin-top: auto;
    padding-top: 14px;
}

.mission-description-full {
    margin-top: 18px;
}

.stats-two-cols {
    grid-template-columns: 1fr 1fr;
}

.mission-info-grid-clean {
    border-top: 0;
    padding-top: 0;
}

.mission-description-full {
    grid-column: 1 / -1;
    margin-top: 0;
}

.mission-header-ended {
    background: #fff1f1;
    border-bottom-color: #c94c4c;
}

.mission-header-ended .page-title,
.mission-header-ended .page-subtitle,
.mission-header-ended .mission-context-header {
    color: #a83232;
}

.mission-header-ended .count-badge {
    color: #a83232;
    border-color: #c94c4c;
    background: #ffffff;
}

.mission-status-ended {
    background: #fff1f1 !important;
    border-color: #c94c4c !important;
}

.mission-status-ended span,
.mission-status-ended strong {
    color: #a83232 !important;
}

.mission-description {
    padding-left: 14px;
    padding-right: 14px;
}

.mission-context-header {
    margin-top: 8px;
    font-size: 18px;
    font-weight: 800;
    color: #3f6f73;
}

.mission-info-grid-clean {
    border-top: 0;
    padding-top: 0;
    grid-template-columns: repeat(6, 1fr);
}

.mission-info-grid-clean .mission-info-pill {
    grid-column: span 2;
}

.mission-info-grid-clean .mission-info-pill-stats {
    grid-column: span 3;
    background: #eef7f8;
    border: 1px solid #d6ecef;
    box-sizing: border-box;
}

.mission-info-grid-clean .mission-info-pill-keywords {
    position: relative;
    grid-column: 1 / -1;
    overflow: hidden;
    box-sizing: border-box;
    padding: 13px 16px 14px;
    border: 1px solid #cfe5e7;
    border-left: 4px solid #61A6AB;
    background: linear-gradient(135deg, #f1f9f9 0%, #ffffff 72%);
    box-shadow: 0 5px 14px rgba(47, 111, 115, 0.08);
}

.mission-info-pill-keywords::after {
    content: "";
    position: absolute;
    top: -24px;
    right: -18px;
    width: 82px;
    height: 82px;
    border-radius: 50%;
    background: rgba(97, 166, 171, 0.08);
    pointer-events: none;
}

.mission-info-pill-keywords span {
    position: relative;
    z-index: 1;
    color: #5d7d80;
    letter-spacing: 0.35px;
    text-transform: uppercase;
}

.mission-info-pill-keywords .mission-info-pill-keywords-title {
    display: flex;
    align-items: center;
    gap: 7px;
}

.mission-info-pill-keywords-title small {
    display: inline-flex;
    align-items: center;
    padding: 2px 6px;
    border: 1px solid #d4e5e7;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    color: #789397;
    font-size: 8px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
}

.mission-info-pill-keywords strong {
    position: relative;
    z-index: 1;
    color: #244f53;
    font-size: 13px;
    line-height: 1.55;
}

.mission-info-pill-keywords-link {
    display: block;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.mission-info-pill-keywords-link:hover,
.mission-info-pill-keywords-link:focus-visible {
    border-color: #61A6AB;
    box-shadow: 0 8px 20px rgba(47, 111, 115, 0.14);
    transform: translateY(-1px);
    outline: none;
}

.mission-info-pill-stats strong{
    color:#2f7f88;
    font-size:16px;
}

.mission-info-pill-stats span{
    color:#5d7f85;
}

.mission-stat-locked-value {
    display: inline-block;
    color: #2f7f88;
    filter: blur(4px);
    user-select: none;
}

.mission-stat-locked-line {
    display: inline-flex;
    align-items: baseline;
    white-space: nowrap;
}

.mission-info-pill .mission-stat-locked-line,
.mission-info-pill .mission-stat-locked-line .mission-stat-locked-value {
    display: inline-flex;
}

.mission-stat-unlock-link {
    display: inline-block;
    margin-left: 8px;
    color: #2f7f88;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    vertical-align: middle;
}

.mission-stat-unlock-link:hover {
    text-decoration: underline;
}

/* MISSIONS - LISTE PLUS LISIBLE */

.mission-list {
    gap: 18px;
}

.mission-card-v2 {
    padding: 22px 24px;
    border: 1px solid #dfe7e8;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.035);
}

.mission-card-v2 + .mission-card-v2 {
    margin-top: 18px;
}

.mission-card-v2:hover {
    background: #fbfefe;
    border-color: #61A6AB;
    box-shadow: 0 8px 22px rgba(0,0,0,0.10);
}

.mission-card-v2-top {
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #edf1f2;
}

.mission-title {
    font-size: 16px;
    line-height: 1.35;
}

.mission-meta {
    margin-bottom: 0;
    color: #777777;
}

.mission-info-grid-v2 {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    padding-top: 0;
    border-top: 0;
}

.mission-info-grid-v2.mission-info-grid-four-columns {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.mission-info-grid-four-columns .mission-info-pill-value-centered {
    display: flex;
    flex-direction: column;
}

.mission-info-grid-four-columns .mission-info-pill-value-centered > strong {
    display: flex;
    flex: 1;
    align-items: center;
}

.mission-info-grid-v2 .mission-info-pill {
    background: #f8fbfb;
    border: 1px solid #e5eeee;
    padding: 13px 14px;
}

.mission-info-grid-v2 .mission-info-pill span {
    color: #6f8f92;
}

.mission-info-grid-v2 .mission-info-pill strong {
    font-size: 13px;
}

.mission-list .mission-card-v2:nth-child(even) {
    background: #fcfdfd;
}

.mission-list .mission-card-v2:nth-child(odd) {
    background: #ffffff;
}

.mission-header-positioned {
    background: #edf8f1;
    border-bottom-color: #4f9f62;
}

.mission-header-positioned .page-title,
.mission-header-positioned .page-subtitle,
.mission-header-positioned .mission-context-header {
    color: #2f6f3d;
}

.mission-header-positioned .count-badge {
    border-color: #4f9f62;
    color: #2f6f3d;
    background: #f6fff8;
}

.mission-common-header {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 132px;
    padding: 24px 165px 24px;
    box-sizing: border-box;
}

.mission-common-header .mission-header-main {
    width: 100%;
    min-width: 0;
}

.mission-common-header .mission-header-rate-badge {
    min-width: 122px;
    text-align: center;
}

.mission-common-header .mission-header-side {
    position: absolute;
    top: 50%;
    right: 30px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    min-width: 144px;
    transform: translateY(-50%);
}

.mission-common-header.mission-common-header-admin-tools {
    min-height: 176px;
    padding-right: 238px;
    padding-left: 238px;
}

.mission-common-header-admin-tools .mission-header-side {
    width: 144px;
}

.mission-common-header.mission-common-header-admin-stats {
    min-height: 246px;
    padding-right: 300px;
}

.mission-common-header.mission-common-header-admin-stats .mission-header-side {
    width: 246px;
}

.mission-common-header .mission-header-admin-side {
    position: absolute;
    top: 50%;
    left: 30px;
    width: 186px;
    transform: translateY(-50%);
}

.mission-header-admin-tools {
    padding: 8px;
    border: 1px solid rgba(123, 44, 191, 0.20);
    border-radius: 12px;
    background:
        radial-gradient(circle at 100% 0%, rgba(99, 175, 180, 0.18), transparent 42%),
        linear-gradient(145deg, rgba(249, 245, 253, 0.97), rgba(255, 255, 255, 0.98));
    box-shadow: 0 8px 22px rgba(73, 55, 91, 0.10);
}

.mission-header-admin-tools-label {
    margin-bottom: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #6a3c8d;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
}

.mission-header-admin-tools-label span {
    color: #63afb4;
    font-size: 8px;
}

.mission-header-admin-links {
    display: grid;
    gap: 6px;
}

.mission-header-admin-stats {
    padding: 10px;
    border: 1px solid rgba(123, 44, 191, 0.20);
    border-radius: 12px;
    background:
        radial-gradient(circle at 0% 0%, rgba(99, 175, 180, 0.18), transparent 42%),
        linear-gradient(145deg, rgba(249, 245, 253, 0.97), rgba(255, 255, 255, 0.98));
    box-shadow: 0 8px 22px rgba(73, 55, 91, 0.10);
}

.mission-header-admin-stats-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 8px;
    color: #6a3c8d;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
}

.mission-header-admin-stats-label span {
    color: #63afb4;
    font-size: 8px;
}

.mission-header-admin-stats-section {
    margin-bottom: 2px;
    padding: 7px;
    border: 1px solid rgba(99, 175, 180, 0.24);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.76);
}

.mission-header-admin-stats-section-title {
    margin-bottom: 4px;
    color: #34777c;
    font-size: 9px;
    font-weight: 900;
}

.mission-header-admin-stat-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    padding: 3px 1px;
    color: #5d6f72;
    font-size: 9px;
    line-height: 1.25;
}

.mission-header-admin-stat-row span {
    min-width: 0;
}

.mission-header-admin-stat-row strong {
    flex: 0 0 auto;
    color: #315e63;
    font-size: 10px;
    white-space: nowrap;
}

.mission-header-admin-stat-notified {
    margin: 0;
    padding: 5px 6px;
    border: 1px solid transparent;
    border-radius: 7px;
}

.mission-header-admin-stat-source {
    align-items: center;
    margin-top: 2px;
    padding: 5px 6px;
    border: 1px solid transparent;
    border-radius: 7px;
    transition: background-color .2s ease, border-color .2s ease;
}

.mission-header-admin-stat-source-label {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 3px 5px;
}

.mission-header-admin-stat-source-active {
    border-color: rgba(220, 157, 34, .48);
    background: #fff5d9;
    color: #7c570d;
}

.mission-header-admin-stat-source-active strong {
    color: #7c570d;
}

.mission-header-admin-stat-source-completed {
    border-color: rgba(54, 145, 94, .38);
    background: #eaf7ef;
    color: #266b46;
}

.mission-header-admin-stat-source-completed strong {
    color: #266b46;
}

.mission-header-admin-stat-total {
    margin-top: 2px;
    padding-top: 5px;
    border-top: 1px solid rgba(99, 175, 180, 0.22);
}

.mission-header-admin-stat-total span,
.mission-header-admin-stat-total strong {
    color: #70409a;
    font-weight: 900;
}

.mission-common-header .mission-header-side .mission-header-rate-badge {
    position: static;
    right: auto;
    top: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    box-sizing: border-box;
    transform: none;
}

.mission-front-admin-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 30px;
    padding: 6px 12px;
    box-sizing: border-box;
    border: 1px solid rgba(123, 44, 191, 0.30);
    border-radius: 999px;
    background: linear-gradient(135deg, #f7f0fc 0%, #ffffff 100%);
    color: #70409a;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 5px 14px rgba(91, 52, 122, 0.12);
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.mission-front-admin-link:hover {
    border-color: rgba(123, 44, 191, 0.55);
    background: linear-gradient(135deg, #efe1f8 0%, #ffffff 100%);
    color: #5f2e89;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(91, 52, 122, 0.18);
}

.mission-front-admin-link:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(123, 44, 191, 0.16), 0 8px 18px rgba(91, 52, 122, 0.18);
}

.mission-subcontracting-admin-link {
    border-color: rgba(75, 153, 158, 0.38);
    background: linear-gradient(135deg, #eaf7f7 0%, #ffffff 100%);
    color: #2f7378;
    box-shadow: 0 5px 14px rgba(54, 125, 130, 0.12);
}

.mission-subcontracting-admin-link:hover {
    border-color: rgba(75, 153, 158, 0.65);
    background: linear-gradient(135deg, #dff3f3 0%, #ffffff 100%);
    color: #25676c;
    box-shadow: 0 8px 18px rgba(54, 125, 130, 0.18);
}

.mission-subcontracting-admin-link:focus-visible {
    box-shadow: 0 0 0 3px rgba(75, 153, 158, 0.16), 0 8px 18px rgba(54, 125, 130, 0.18);
}

.mission-front-admin-link-icon {
    font-size: 12px;
    line-height: 1;
}

.admin-positionnements-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(260px, .75fr);
    align-items: stretch;
    gap: 20px;
    margin-top: 20px;
}

.admin-positionnements-layout > .process-box {
    margin: 0;
}

.admin-positionnements-finance {
    height: 100%;
    box-sizing: border-box;
}

.admin-positionnements-list-box {
    margin-top: 24px;
}

.admin-positionnements-list {
    display: grid;
    gap: 12px;
}

.admin-positionnement-card {
    display: grid;
    grid-template-columns: minmax(240px, 1.6fr) repeat(3, minmax(130px, 1fr)) auto;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid rgba(99, 175, 180, .22);
    border-left: 4px solid #63afb4;
    border-radius: 12px;
    background: linear-gradient(135deg, #ffffff 0%, #f7fbfb 100%);
    box-shadow: 0 7px 20px rgba(44, 85, 89, .08);
}

.admin-positionnement-card > div {
    min-width: 0;
}

.admin-positionnement-card > div:first-child strong {
    display: block;
    color: #263f42;
    font-size: 15px;
}

.admin-positionnement-card > div:first-child span,
.admin-positionnement-card > div:not(:first-child) span {
    display: block;
    margin-bottom: 3px;
    color: #7a8a8c;
    font-size: 10px;
    font-weight: 700;
}

.admin-positionnement-card > div:not(:first-child) strong {
    display: block;
    color: #344e51;
    font-size: 12px;
}

.admin-positionnement-delete {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid #efb7bd;
    border-radius: 9px;
    background: #fff5f6;
    color: #bf3948;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.admin-positionnement-delete:hover {
    border-color: #df7f89;
    background: #ffe9ec;
    transform: translateY(-1px);
}

.admin-positionnement-delete:focus-visible {
    outline: 3px solid rgba(191, 57, 72, .18);
    outline-offset: 2px;
}

.admin-positionnement-delete-modal .appstore-modal-text {
    margin-bottom: 18px;
}

.admin-positionnement-delete-confirm {
    border-color: #cf3d4d;
    background: #cf3d4d;
}

.admin-positionnement-delete-confirm:hover {
    border-color: #b62f3e;
    background: #b62f3e;
}

@media (max-width: 900px) {
    .admin-positionnement-card {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .admin-positionnement-delete {
        grid-column: 2;
        justify-self: end;
    }
}

@media (max-width: 600px) {
    .admin-positionnement-card {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .admin-positionnement-card > div:not(:first-child) {
        grid-column: 1 / -1;
    }

    .admin-positionnement-delete {
        grid-column: 2;
        grid-row: 1;
    }
}

.admin-positionnements-unlimited-note {
    margin: 14px 0;
    padding: 10px 12px;
    border: 1px solid rgba(99, 175, 180, .32);
    border-radius: 9px;
    background: #eef8f8;
    color: #34777c;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

.mission-positioned-note-multiple {
    justify-content: center;
    gap: 12px;
    color: inherit;
    text-decoration: none;
}

.mission-positioned-note-multiple strong {
    color: #34777c;
    font-size: 11px;
    white-space: nowrap;
}

.mission-positioned-note-multiple:hover,
.mission-positioned-note-multiple:focus {
    border-color: rgba(99, 175, 180, .55);
    color: inherit;
    box-shadow: 0 7px 18px rgba(56, 120, 125, .12);
}

.mission-common-header .page-title {
    line-height: 1.25;
}

.mission-header-badges-row {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.mission-inapp-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 12px;
    margin-bottom: 18px;
    border: 1px solid #dce8ea;
    border-radius: 12px;
    background: #ffffff;
}

.mission-inapp-tabs {
    display: flex;
    align-items: center;
    gap: 5px;
    flex-wrap: wrap;
    padding: 4px;
    border: 1px solid #cfe8ea;
    border-radius: 999px;
    background: #EAF4F5;
}

.mission-inapp-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid transparent;
    background: #ffffff;
    color: #2f6f73;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    line-height: 1;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}

.mission-inapp-tab:hover {
    border-color: #61A6AB;
    background: #ffffff;
}

.mission-inapp-tab.active {
    background: #61A6AB;
    color: #ffffff;
    border-color: #61A6AB;
    box-shadow: 0 3px 8px rgba(97,166,171,0.22);
}

.mission-inapp-tab-danger {
    border-color: #b00020;
    background: #b00020;
    color: #ffffff;
    cursor: pointer;
}

.mission-inapp-tab-danger:hover {
    border-color: #8f001a;
    background: #8f001a;
}

.mission-close-modal-text p {
    margin: 0 0 10px;
    font-weight: 700;
}

.mission-close-modal-text ul {
    margin: 0 0 16px 18px;
    padding: 0;
    color: #555555;
    line-height: 1.55;
}

.mission-inactivity-actions form {
    margin: 0;
}

.mission-inapp-stats {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-shrink: 0;
    padding-left: 14px;
    border-left: 1px solid #e1eaec;
    cursor: default;
}

.mission-inapp-stats-label {
    color: #8a999c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.mission-inapp-stat {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid #e2e8ea;
    background: #f7f9fa;
    color: #5d6f73;
    font-size: 11px;
    line-height: 1;
    pointer-events: none;
    text-decoration: none;
}

.mission-inapp-stat-locked-stack {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    flex: 0 0 auto;
}

.mission-inapp-stat-locked {
    pointer-events: auto;
    padding: 0 9px;
}

.mission-inapp-stat-locked-pill {
    min-height: 30px;
}

.mission-inapp-stat-locked-pill:hover,
.mission-inapp-stat-unlock-below:hover {
    color: #2f6f73;
    text-decoration: none;
}

.mission-inapp-stat-unlock-below {
    color: #2f6f73;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

.mission-inapp-stat span {
    font-weight: 600;
}

.mission-inapp-stat strong {
    font-size: 13px;
    color: #2f6f73;
}

.mission-inapp-stat-highlight {
    background: #edf8f1;
    border-color: #79b88a;
    color: #2f6f3d;
}

.mission-inapp-stat-highlight strong {
    color: #2f6f3d;
}

@media (max-width: 760px) {
    .mission-common-header {
        min-height: 0;
        padding: 24px 24px 70px;
    }

    .mission-common-header > .mission-header-rate-badge {
        right: 50%;
        top: auto;
        bottom: 22px;
        transform: translateX(50%);
    }

    .mission-inapp-nav {
        align-items: stretch;
        flex-direction: column;
    }

    .mission-inapp-tabs,
    .mission-inapp-stats {
        width: 100%;
    }

    .mission-inapp-stats {
        border-left: 0;
        padding-left: 0;
        justify-content: center;
    }

    .mission-inapp-tab,
    .mission-inapp-stat {
        flex: 1;
    }
}

.mission-section-heading {
    margin: 0 0 22px;
    padding: 0 2px 14px;
    border-bottom: 1px solid #e8eef0;
}

.mission-section-title {
    color: #1f2d30;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.25;
}

.mission-section-subtitle {
    margin-top: 5px;
    color: #68787c;
    font-size: 12px;
    line-height: 1.45;
}

.mission-card-positioned {
    background: #edf8f1;
    border-color: #79b88a;
}

.mission-card-positioned .mission-info-pill {
    background: #f6fff8;
    border-color: #b9dfc3;
}

.mission-card-positioned .mission-rate-pill {
    background: #f6fff8;
    border-color: #79b88a;
    color: #2f6f3d;
}

.mission-positioned-note {
    margin-top: 10px;
    display: block;
    flex: 1 1 100%;
    order: 2;
    min-width: 0;
    box-sizing: border-box;
    padding: 7px 12px;
    border-radius: 999px;
    background: #dff3e6;
    border: 1px solid #79b88a;
    color: #2f6f3d;
    font-weight: 700;
    font-size: 13px;
}

.mission-card-positioned .mission-card-v2-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
}

.mission-card-positioned .mission-positioned-note {
    grid-column: 1 / -1;
    grid-row: 2;
}

.mission-card-positioned .mission-card-badges {
    grid-column: 2;
    grid-row: 1;
    order: initial;
}

.mission-positioned-note-header {
    margin-top: 10px;
}

.mission-card-ended {
    background: #edf8f1 !important;
    border-color: #79b88a !important;
}

.mission-card-ended .mission-card-v2-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
}

.mission-card-ended .mission-positioned-note {
    grid-column: 1 / -1;
    grid-row: 2;
    background: #dff3e6;
    border-color: #79b88a;
    color: #2f6f3d;
}

.mission-card-ended .mission-card-badges {
    grid-column: 2;
    grid-row: 1;
    order: initial;
}

.mission-card-ended .mission-meta-row {
    display: block;
}

.mission-card-ended .mission-info-pill {
    background: #f6fff8;
    border-color: #b9dfc3;
}

.mission-card-badges {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-shrink: 0;
    order: 1;
}

.mission-ended-pill {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff7f7;
    border: 1px solid #c94c4c;
    color: #a83232;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.mission-meta-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:2px;
}

.mission-ended-inline{
    display:inline-flex;
    align-items:center;
    padding:4px 10px;
    border-radius:999px;
    border:1px solid #e16a6a;
    background:#fff3f3;
    color:#c74848;
    font-size:11px;
    font-weight:600;
    line-height:1;
    white-space:nowrap;
}

.mission-edit-readonly .process-box {
    background: #f7f7f7;
}

.mission-edit-readonly input,
.mission-edit-readonly select,
.mission-edit-readonly textarea {
    background: #f1f1f1;
    color: #777777;
    cursor: default;
}

.mission-edit-readonly select,
.mission-edit-readonly input[type="radio"],
.mission-edit-readonly input[type="checkbox"] {
    cursor: not-allowed;
}

.mission-edit-readonly .type-choice {
    opacity: 0.62;
    cursor: not-allowed;
}

.mission-edit-readonly .type-choice.selected {
    opacity: 0.85;
}

.mission-edit-ai-regeneration-box {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 18px 0 0;
    padding: 12px;
    box-sizing: border-box;
    border: 1px solid #e4ded1;
    border-radius: 8px;
    background:
        radial-gradient(circle at 78% 12%, rgba(214, 164, 87, 0.16), transparent 28%),
        linear-gradient(180deg, #fffdf7 0%, #ffffff 100%);
    color: #444444;
    cursor: not-allowed;
}

.mission-edit-ai-regeneration-box * {
    cursor: not-allowed;
}

.mission-edit-ai-regeneration-box > input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #2f777c;
    opacity: 1;
    cursor: not-allowed;
}

.mission-edit-ai-regeneration-content {
    display: flex;
    flex: 1;
    min-width: 0;
    align-items: center;
    gap: 10px;
}

.mission-edit-ai-regeneration-badge {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 24px;
    box-sizing: border-box;
    padding: 0 8px;
    border-radius: 99px;
    background: #2f777c;
    color: #ffffff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
}

.mission-edit-ai-regeneration-content strong,
.mission-edit-ai-regeneration-content small {
    display: block;
}

.mission-edit-ai-regeneration-content strong {
    color: #2f5f63;
    font-size: 12px;
    line-height: 1.5;
}

.mission-edit-ai-regeneration-content small {
    margin-top: 5px;
    color: #657b7e;
    font-size: 11px;
    line-height: 1.5;
}

.mission-edit-ai-regeneration-box + .legal-acceptance-box {
    margin-top: 12px;
}

.consultants-privacy-action-row,
.mission-commission-action-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
}

.consultant-privacy-banner {
    display: flex;
    width: 75%;
    min-width: 0;
    min-height: 58px;
    box-sizing: border-box;
    align-items: center;
    gap: 12px;
    padding: 9px 13px;
    border: 1px solid #9ed5af;
    border-radius: 10px;
    background: linear-gradient(135deg, #f4f8ef 0%, #ffffff 100%);
    box-shadow: 0 6px 16px rgba(73, 130, 91, 0.08);
    color: inherit;
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.consultant-privacy-banner:hover {
    transform: translateY(-1px);
    border-color: #73bd8a;
    box-shadow: 0 10px 22px rgba(73, 130, 91, 0.13);
}

.mission-commission-banner {
    display: flex;
    width: 75%;
    min-width: 0;
    min-height: 58px;
    box-sizing: border-box;
    align-items: center;
    gap: 12px;
    padding: 9px 13px;
    border: 1px solid #61a6ab;
    border-radius: 10px;
    background: linear-gradient(135deg, #f4f8ef 0%, #ffffff 100%);
    box-shadow: 0 6px 16px rgba(97, 166, 171, 0.1);
    color: inherit;
    text-decoration: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.mission-commission-banner:hover {
    transform: translateY(-1px);
    border-color: #4f8d91;
    box-shadow: 0 10px 22px rgba(97, 166, 171, 0.16);
}

.consultant-privacy-banner-badge {
    display: inline-flex;
    flex: 0 0 auto;
    min-height: 34px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    border-radius: 8px;
    background: #61a6ab;
    color: #ffffff;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(97, 166, 171, 0.2);
}

.mission-commission-banner-badge {
    display: inline-flex;
    flex: 0 0 auto;
    min-height: 34px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    border-radius: 8px;
    background: #61a6ab;
    color: #ffffff;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(97, 166, 171, 0.2);
}

.consultant-privacy-banner-content,
.mission-commission-banner-content {
    display: block;
    min-width: 0;
}

.consultant-privacy-banner-content strong,
.consultant-privacy-banner-content > span,
.mission-commission-banner-content strong,
.mission-commission-banner-content > span {
    display: block;
}

.consultant-privacy-banner-content strong,
.mission-commission-banner-content strong {
    margin-bottom: 1px;
    color: #2f6f73;
    font-size: 12px;
    line-height: 1.35;
}

.consultant-privacy-banner-content > span,
.mission-commission-banner-content > span {
    color: #536568;
    font-size: 10px;
    line-height: 1.4;
}

.consultants-primary-action,
.mission-commission-primary-action {
    display: flex;
    align-items: center;
    margin: 0;
}

.consultants-primary-action .submit-button,
.mission-commission-primary-action .submit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    white-space: nowrap;
}

.consultant-privacy-banner-full,
.mission-commission-banner-full {
    width: 100%;
    margin-bottom: 22px;
}

.mission-meta-row-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 4px;
    flex-wrap: wrap;
}

.mission-meta-row-header .page-subtitle {
    margin: 0;
}

.form-field textarea {
    border: 1px solid #dddddd;
    border-radius: 6px;
    padding: 11px 12px;
    font-size: 13px;
    font-family: Arial, sans-serif;
    resize: vertical;
    min-height: 90px;
    box-sizing: border-box;
    background: #ffffff;
}

.form-field textarea:focus {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 2px rgba(97,166,171,0.15);
}

/* ENTREPRISE - UPLOAD LOGO / ICONE */

.company-brand-field {
    gap: 8px;
}

.company-brand-field.company-logo-field-wide {
    grid-column: 1 / -1;
}

.company-logo-current-row {
    display: grid;
    grid-template-columns: minmax(0, 320px) minmax(220px, 1fr);
    gap: 16px;
    align-items: stretch;
    margin-bottom: 10px;
}

.company-image-preview,
.company-logo-preview {
    height: 78px;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    padding: 10px;
    margin-bottom: 10px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.company-logo-current-row .company-logo-preview {
    margin-bottom: 0;
    width: 100%;
    overflow: hidden;
}

.company-image-preview img,
.company-logo-preview img {
    max-height: 52px;
    max-width: 100%;
    width: auto;
    object-fit: contain;
}

.company-logo-delete-card {
    position: relative;
    isolation: isolate;
    min-height: 78px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid #e8b0a5;
    border-radius: 8px;
    background: linear-gradient(135deg, #fff8f6 0%, #fff1ee 100%);
    color: #8f2f21;
    box-sizing: border-box;
    cursor: pointer;
    overflow: hidden;
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.company-logo-delete-card::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: 120px;
    height: 120px;
    right: -54px;
    top: -62px;
    border-radius: 50%;
    background: rgba(97, 166, 171, 0.13);
    transition: transform 220ms ease, background 220ms ease;
}

.company-logo-delete-card:hover,
.company-logo-delete-card:focus-within {
    transform: translateY(-2px);
    border-color: #61a6ab;
    background: linear-gradient(135deg, #fffaf8 0%, #fff1ee 72%, #eef9f9 100%);
    box-shadow: 0 10px 24px rgba(42, 91, 96, 0.14), 0 0 0 3px rgba(97, 166, 171, 0.12);
}

.company-logo-delete-card:hover::after,
.company-logo-delete-card:focus-within::after {
    transform: scale(1.35);
    background: rgba(97, 166, 171, 0.2);
}

.company-logo-delete-card input {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    accent-color: #c94832;
}

.company-logo-delete-card strong {
    position: relative;
    z-index: 1;
    display: block;
    font-size: 12px;
    line-height: 1.2;
}

.company-logo-delete-card small {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: 3px;
    color: #a95a4b;
    font-size: 11px;
    line-height: 1.25;
}

@media (prefers-reduced-motion: reduce) {
    .company-logo-delete-card,
    .company-logo-delete-card::after {
        transition: none;
    }
}

@media (max-width: 760px) {
    .company-logo-current-row {
        grid-template-columns: 1fr;
    }
}

.form-section-separator {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 4px 0 -2px 0;
    color: #4f7f83;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.form-section-separator::after {
    content: "";
    height: 1px;
    flex: 1;
    background: #dceced;
}

.custom-file-upload {
    display: inline-block;
    width: fit-content;
    background: #61A6AB;
    color: #ffffff !important;
    padding: 10px 15px;
    border-radius: 6px;
    font-weight: bold;
    font-size: 12px;
    cursor: pointer;
    text-align: center;
    transition: all 0.15s ease;
    border: none;
}

.custom-file-upload:hover {
    background: #4f9297;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.custom-file-upload input[type="file"] {
    display: none !important;
}

.selected-file-name {
    margin-top: 7px;
    font-size: 11px;
    color: #555555;
    font-weight: bold;
    min-height: 16px;
}

.company-form-spaced .process-box {
    margin-top: 24px;
    padding: 22px;
}

.company-form-spaced .form-grid {
    gap: 22px;
}

.company-form-spaced .form-field {
    margin-bottom: 4px;
}

.role-select {
    border: 1px solid #dddddd;
    border-radius: 6px;
    padding: 8px 10px;
    font-size: 12px;
    font-family: Arial, sans-serif;
    background: #ffffff;
    min-width: 120px;
}

.role-select:focus {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 2px rgba(97,166,171,0.15);
}

.role-submit-button {
    padding: 8px 12px;
    font-size: 12px;
}

.ajout-mission-grid {
    gap: 26px 22px;
}

.ajout-mission-grid .form-field {
    margin-bottom: 4px;
}

.ajout-mission-grid .form-field label {
    margin-bottom: 8px;
}

.ajout-mission-grid .field-hint {
    margin-top: -12px;
    margin-bottom: 2px;
    color: #777777;
    font-size: 11px;
}

.ajout-mission-description {
    min-height: 420px !important;
    line-height: 1.6;
}

.ajout-mission-grid .rich-editor {
    width: 100%;
    display: block;
}

.ajout-mission-grid .rich-editor .editor-toolbar {
    width: 100%;
    display: flex;
    gap: 6px;
    margin-bottom: 8px;
}

.ajout-mission-grid .rich-editor textarea,
.ajout-mission-grid textarea.ajout-mission-description {
    width: 100% !important;
    max-width: 100%;
    min-height: 420px !important;
    box-sizing: border-box;
    display: block;
}

.ajout-mission-grid .rich-editor,
.ajout-mission-grid .rich-editor textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

.ajout-mission-grid .editor-toolbar {
    width: 100%;
}

.ajout-mission-diffusion-box {
    padding-left: 15px;
    padding-right: 15px;
}

.ajout-mission-diffusion-box .type-choice-wrapper {
    width: 100%;
    max-width: none;
    margin: 0 0 30px;
}

.ajout-mission-diffusion-box .type-choice {
    flex: 1 1 0;
    min-width: 0;
}

.consultant-create-mode-wrapper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    margin-bottom: 24px;
}

.consultant-create-mode-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    background: #ffffff;
    border-radius: 6px;
    padding: 16px;
    cursor: pointer;
    text-align: left;
    font-family: Arial, sans-serif;
    color: inherit;
    text-decoration: none;
    transition: all 0.2s ease;
}

.consultant-create-mode-card:hover,
.consultant-create-mode-card.selected {
    background: #EAF4F5;
    border-color: #61A6AB;
}

.consultant-create-mode-card.selected {
    box-shadow: 0 4px 12px rgba(97,166,171,0.18);
}

.consultant-create-mode-card.selected::after {
    content: "✓";
    position: absolute;
    top: 10px;
    right: 12px;
    font-weight: bold;
    color: #61A6AB;
    font-size: 16px;
}

.mission-publication-mode-wrapper {
    grid-template-columns: repeat(2, minmax(240px, 300px));
    justify-content: center;
    column-gap: 75px;
}

.mission-single-publication-panel .process-box:first-of-type {
    margin-top: 60px;
}

.import-missions-ai-notice {
    margin-top: 16px;
    padding: 14px 16px;
    border: 1px solid #f3c46b;
    border-left: 4px solid #e59a28;
    border-radius: 6px;
    background: #fff7e8;
    color: #6a4a12;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 600;
}

.ajout-mission-ai-description-notice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
    padding: 14px 16px;
    border: 1px solid #cfe6e8;
    border-left: 4px solid #61a6ab;
    border-radius: 8px;
    background: #f3fafb;
    color: #425f63;
    line-height: 1.45;
}

.ajout-mission-ai-description-badge {
    flex: 0 0 auto;
    padding: 4px 8px;
    border-radius: 999px;
    background: #61a6ab;
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

.ajout-mission-ai-description-notice strong,
.ajout-mission-ai-description-notice div > span {
    display: block;
}

.ajout-mission-ai-description-notice strong {
    margin-bottom: 3px;
    color: #294b4f;
    font-size: 14px;
}

.ajout-mission-ai-description-notice div > span {
    font-size: 13px;
}

.manual-consultant-info {
    margin-top: 18px;
    margin-bottom: 0;
    background: #f5f7f8;
    border: 1px solid #dddddd;
    color: #555555;
}

.form-field-error {
    display: block;
    margin-top: 6px;
    color: #cf3d4d;
    font-size: 12px;
    font-weight: 700;
}

.manual-expertise-grid {
    margin-top: 12px;
}

.consultant-detail-cv-form {
    margin-top: 12px;
}

.consultant-detail-cv-form .submit-zone {
    text-align: center !important;
}

.consultant-detail-cv-submit {
    margin-top: 12px;
}

.consultant-detail-cv-box.missing-cv {
    background: #fff7ed;
    border-color: #f0c48c;
    border-left-color: #d9822b;
}

.consultant-detail-cv-box.missing-cv .process-title {
    color: #9a4f12;
}

.consultant-detail-cv-box.missing-cv .process-line.pending {
    background: #fff0dc;
    border-color: #f0c48c;
    color: #8a4a16;
}

.consultant-detail-upload-box {
    padding: 22px 14px;
    border-radius: 8px;
}

.consultant-detail-upload-box.has-file {
    background: #eaf7ee;
    border-color: #4f9d62;
}

.consultant-detail-upload-box.has-file .upload-title,
.consultant-detail-upload-box.has-file .upload-button {
    color: #2f6f3d;
}

.consultant-detail-upload-box .upload-title {
    font-size: 15px;
}

.consultant-detail-upload-box .upload-text {
    font-size: 12px;
    line-height: 1.45;
}

.consultant-detail-upload-box .upload-button {
    background: transparent;
    color: #2f6f73;
    padding: 0;
    border-radius: 0;
    font-size: 12px;
    font-weight: bold;
}

@media (max-width: 760px) {
    .ajout-mission-diffusion-box .type-choice-wrapper {
        max-width: 100%;
        flex-direction: column;
    }

    .ajout-mission-diffusion-box .type-choice {
        flex: 1 1 auto;
        width: 100%;
    }

    .consultant-create-mode-wrapper {
        grid-template-columns: 1fr;
    }

}

.mission-owner-inline {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid #61A6AB;
    background: #EAF4F5;
    color: #2f6f73;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.mission-import-inline {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid #d7c38a;
    background: #fff7e8;
    color: #7a5a18;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.mes-missions-candidatures-pill {
    background: #edf8f1 !important;
    border-color: #79b88a !important;
}

.mes-missions-candidatures-pill span {
    color: #2f6f3d !important;
}

.mes-missions-candidatures-pill strong {
    color: #2f6f3d !important;
    font-size: 16px;
}

.mes-missions-page .mission-card,
.mes-missions-page .mission-card-v2 {
    cursor: pointer;
}

.candidature-card {
    position: relative;
}

#liste-candidatures .candidature-card > .candidature-ai-decision-row {
    order: 10;
}

#liste-candidatures .candidature-card > .candidature-ai-criteria-block {
    order: 11;
}

#liste-candidatures .candidature-card > .candidature-contact-section {
    order: 20;
}

#liste-candidatures .candidature-card > .candidature-action-row {
    order: 30;
}

.candidature-card .status-badge {
    min-width: 95px;
    text-align: center;
    white-space: nowrap;
}

.candidature-source-info {
    margin-top: 10px;
    display: grid;
    gap: 5px;
    color: #555555;
    font-size: 12px;
    line-height: 1.45;
}

.candidature-source-info strong {
    color: #333333;
}

.candidature-info-grid {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 14px;
    max-width: 520px;
}

.candidature-comment-zone {
    margin-top: 14px;
}

.candidature-comment-title {
    font-size: 13px;
    font-weight: bold;
    color: #666666;
    margin-bottom: 0px;
    margin-left: 5px;
}

.candidature-comment-box {
    height: 82px;
    overflow-y: auto;
    box-sizing: border-box;
}

.candidature-ai-box {
    margin-top: 14px;
}

.candidature-precision-textarea {
    width: 100%;
    min-height: 300px;
    margin-top: 14px;
    padding: 12px;
    border: 1px solid #dddddd;
    border-radius: 8px;
    box-sizing: border-box;
    resize: vertical;
    color: #333333;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.45;
}

.candidature-precision-textarea:focus {
    outline: none;
    border-color: #61a6ab;
    box-shadow: 0 0 0 3px rgba(97,166,171,0.14);
}

.candidature-toast {
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(97,166,171,0.92);
    color: #ffffff;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: bold;
    z-index: 2;
    animation: fadeToastCentered 3s ease forwards;
    white-space: nowrap;
}

.mission-note-box {
    position: relative;
    padding: 14px 16px;
}

.internal-note-box.mission-note-box .process-title {
    margin-bottom: 8px;
    font-size: 15px;
}

.internal-note-box.mission-note-box .process-title::before {
    width: 22px;
    height: 22px;
    font-size: 12px;
}

.mission-note-box .note-textarea {
    min-height: 96px;
    height: 96px;
    padding: 10px 11px;
    line-height: 1.4;
}

.mission-note-editor {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: stretch;
}

.mission-note-editor .submit-zone {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: 0;
}

.mission-note-editor .submit-button {
    width: auto;
    min-height: 0;
    padding: 11px 16px;
    border-radius: 7px;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(60, 112, 116, 0.14);
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.mission-note-editor .submit-button:hover,
.mission-note-editor .submit-button:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 7px 16px rgba(60, 112, 116, 0.20);
    outline: none;
}

.internal-note-box {
    position: relative;
    background: linear-gradient(135deg, #f1fafb 0%, #e8f5f6 100%);
    border: 1px solid rgba(97, 166, 171, 0.42);
    border-left: 5px solid #61a6ab;
    box-shadow: 0 8px 22px rgba(60, 112, 116, 0.10);
}

.internal-note-box .process-title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #397b80;
    font-size: 16px;
}

.internal-note-box .process-title::before {
    content: "✎";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #61a6ab;
    color: #ffffff;
    font-size: 14px;
    line-height: 1;
}

.internal-note-box .note-textarea {
    background: #ffffff;
    border-color: rgba(97, 166, 171, 0.38);
    box-shadow: inset 0 1px 2px rgba(40, 83, 86, 0.04);
}

.internal-note-box .note-textarea:focus {
    border-color: #61a6ab;
    box-shadow: 0 0 0 3px rgba(97, 166, 171, 0.14);
    outline: none;
}

@keyframes fadeToast {
    0% { opacity: 0; transform: translateY(-5px); }
    15% { opacity: 1; transform: translateY(0); }
    75% { opacity: 1; }
    100% { opacity: 0; }
}

.mission-description-toggle {
    margin-top: 14px;
    padding: 16px;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    color: #333333;
    line-height: 1.65;
    max-height: 360px;
    overflow-y: auto;
}

.candidature-kpi-grid {
    grid-template-columns: repeat(3, 1fr);
}

.candidature-kpi-grid .dashboard-kpi-card {
    background: #f8fbfb;
}

.candidature-kpi-grid .candidature-kpi-nouvelle {
    border-color: #d8e2e3;
    border-left-color: #8da1a4;
}

.candidature-kpi-grid .candidature-kpi-reflexion {
    border-color: #ead9a9;
    border-left-color: #d3a938;
    background: #fffaf0;
}

.candidature-kpi-grid .candidature-kpi-preselectionnee {
    border-color: #d5d1eb;
    border-left-color: #8b82bd;
    background: #faf9ff;
}

.candidature-kpi-grid .candidature-kpi-entretien {
    border-color: #c5ddeb;
    border-left-color: #5e9fc1;
    background: #f4faff;
}

.candidature-kpi-grid .candidature-kpi-ok {
    border-color: #bfe0c8;
    border-left-color: #5aab70;
    background: #f3fbf5;
}

.candidature-kpi-grid .candidature-kpi-ko {
    border-color: #eccaca;
    border-left-color: #c56b72;
    background: #fff7f7;
}

.candidature-kpi-grid .dashboard-kpi-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(80, 105, 110, .14);
}

.candidature-kpi-grid .dashboard-kpi-card.is-selected {
    position: relative;
    z-index: 1;
    border-width: 2px;
    box-shadow: 0 0 0 3px rgba(79, 159, 164, 0.18), 0 8px 20px rgba(80, 105, 110, .16);
    transform: translateY(-1px);
}

.candidature-kpi-grid .candidature-kpi-nouvelle:hover { background: #f0f5f5; }
.candidature-kpi-grid .candidature-kpi-reflexion:hover { background: #fff5df; }
.candidature-kpi-grid .candidature-kpi-preselectionnee:hover { background: #f3f1fc; }
.candidature-kpi-grid .candidature-kpi-entretien:hover { background: #eaf6fd; }
.candidature-kpi-grid .candidature-kpi-ok:hover { background: #e8f7eb; }
.candidature-kpi-grid .candidature-kpi-ko:hover { background: #ffeded; }

.candidature-card-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
}

.candidature-card-header-left{
    display:flex;
    align-items:flex-start;
    gap:14px;
}

.candidature-card-header-right{
    flex-shrink:0;
    display:flex;
    align-items:center;
    gap:8px;
}

.candidature-precision-open.has-note {
    position: relative;
    border: 2px solid #3d9d98;
    background: linear-gradient(135deg, #cfeee9 0%, #e9f8f5 100%);
    color: #176c6b;
    font-weight: 800;
    box-shadow: 0 3px 10px rgba(47, 111, 115, .24);
}

.candidature-precision-open.has-note::after {
    content: "";
    position: absolute;
    top: -3px;
    right: -3px;
    width: 7px;
    height: 7px;
    border: 1px solid #ffffff;
    border-radius: 50%;
    background: #e0a42d;
}

.candidature-candidate-initials{
    width:46px;
    height:46px;
    border-radius:50%;
    background:#EAF4F5;
    border:1px solid #61A6AB;
    color:#2f6f73;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:bold;
    font-size:15px;
}

.candidature-card-title-zone{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.candidature-card-quick-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.candidature-card-quick-actions .mini-button,
.candidature-matching-pill,
.candidature-received-date {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
}

.candidature-received-date {
    gap: 5px;
    padding: 6px 0 0;
    color: #687b7f;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.candidature-received-date::before {
    content: "◷";
    color: #61a6ab;
    font-size: 13px;
    line-height: 1;
}

.candidature-card-meta-line {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 3px;
}

.candidature-consultant-reference {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #687b7f;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.candidature-consultant-reference::before {
    content: "#";
    color: #61a6ab;
    font-size: 13px;
    font-weight: 800;
}

.candidature-consultant-reference strong {
    color: #3f5f63;
    font-size: inherit;
}

.candidature-card-meta-line .candidature-received-date {
    min-height: auto;
    padding: 0 0 0 18px;
    border-left: 1px solid #dce7e8;
}

.candidature-matching-pill {
    width: 168px;
    height: 44px;
    padding: 7px 10px;
    border: 1px solid #9ed5af;
    border-radius: 6px;
    background: #edf8f0;
    color: #2f6f3d;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.1;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    gap: 3px;
}

.candidature-matching-pill strong {
    margin-right: 4px;
    color: #2f6f3d;
    font-weight: 900;
}

.candidature-matching-pill small {
    font-size: 9px;
    font-weight: 700;
    line-height: 1.15;
}

.candidature-matching-label {
    font-size: 11px;
    font-weight: 900;
}

.candidature-matching-pill.is-needs-cv,
.candidature-matching-pill.is-pending,
.candidature-matching-pill.is-unavailable {
    border-color: #d7e3e4;
    background: #f5f8f8;
    color: #687b7f;
}

.candidature-matching-pill.is-pending {
    border-color: #b9deda;
    background: #eef8f6;
    color: #3f777b;
}

.candidature-job-title{
    font-size:18px;
    font-weight:800;
    color:#222222;
    line-height:1.3;
}

.candidature-info-grid{
    grid-template-columns:repeat(4,1fr);
    max-width:none;
}

.candidature-location-pill small {
    display: block;
    margin-top: 4px;
    color: #7d9093;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.35;
}

.candidature-type-pill,
.candidature-info-pill-centered {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.candidature-type-pill > strong,
.candidature-info-pill-centered > strong {
    align-self: center;
}

@media (max-width: 640px) {
    .candidature-card-meta-line {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .candidature-consultant-reference {
        white-space: normal;
    }

    .candidature-card-meta-line .candidature-received-date {
        padding-left: 0;
        border-left: 0;
    }
}

.candidature-type-pill{
    transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease;
}

.candidature-type-pill.is-freelance{
    border-color:#b5dfd9;
    background:#effaf7;
    box-shadow:inset 3px 0 0 #4fa99f;
}

.candidature-type-pill.is-company{
    border-color:#cdd3ee;
    background:#f4f5fc;
    box-shadow:inset 3px 0 0 #6877bd;
}

.candidature-type-pill.is-freelance span,
.candidature-type-pill.is-freelance strong{
    color:#2b6f68;
}

.candidature-type-pill.is-company span,
.candidature-type-pill.is-company strong{
    color:#515c96;
}

.candidature-contact-box{
    margin-top:0px;
    padding:14px;
    background:#f6f7f9;
    border:1px solid #dce2e7;
    border-radius:10px;
}

.candidature-contact-line{
    font-size:12px;
    color:#444444;
    line-height:1.6;
}

.candidature-contact-line + .candidature-contact-line{
    margin-top:3px;
}

.candidature-contact-line a{
    color:#61A6AB;
    font-weight:bold;
    text-decoration:none;
}

.candidature-contact-line a:hover{
    text-decoration:underline;
}

.candidature-contact-line.muted{
    color:#888888;
    font-size:11px;
}

.candidature-contact-locked{
    background:linear-gradient(135deg,#fffaf0 0%,#fffdf8 100%);
    border-color:#e4d2a8;
    border-style:solid;
    box-shadow:inset 4px 0 0 #cfaa61;
}

.contact-credit-intro{
    font-size:12px;
    color:#5f573f;
    line-height:1.55;
}

.contact-credit-locked-title{
    display:flex;
    align-items:center;
    gap:7px;
    color:#5b4d2d;
}

.contact-credit-locked-title > span{
    font-size:13px;
    filter:grayscale(.45);
}

.contact-credit-locked-title strong{
    font-size:13px;
    font-weight:850;
}

.contact-credit-locked-copy{
    margin-top:4px;
}

.contact-credit-store-link{
    display:inline-block;
    margin-left:5px;
    color:#80662f;
    font-weight:800;
    text-decoration:underline;
    text-decoration-color:rgba(128,102,47,.35);
    text-underline-offset:2px;
}

.contact-credit-store-link:hover,
.contact-credit-store-link:focus-visible{
    color:#624d24;
    text-decoration-color:currentColor;
    outline:none;
}

.contact-credit-row{
    margin-top:12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
}

.contact-credit-count{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 12px;
    border-radius:999px;
    background:#eef9f3;
    border:1px solid #bfe6ca;
    color:#2f6f3d;
    font-size:12px;
    font-weight:700;
}

.candidature-contact-locked .contact-credit-count{
    border-color:#e3d3ae;
    background:rgba(255,255,255,.78);
    color:#665837;
}

.candidature-contact-revealed{
    background:#f6f7f9;
    border-color:#d6dde3;
}

.contact-revealed-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
}

.contact-revealed-origin{
    display:flex;
    align-items:stretch;
    gap:10px;
    min-width:0;
    max-width:100%;
}

.candidature-source-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-width:0;
    max-width:100%;
    padding:9px 13px 9px 9px;
    border:1px solid;
    border-radius:12px;
    box-shadow:0 5px 14px rgba(45,82,87,.10);
}

.candidature-source-badge.is-freelance{
    color:#23655f;
    border-color:#91d2ca;
    background:linear-gradient(135deg,#e6f8f4 0%,#f5fcfa 100%);
}

.candidature-source-badge.is-company{
    color:#4b558f;
    border-color:#b8c2ec;
    background:linear-gradient(135deg,#eef1ff 0%,#f8f9ff 100%);
}

.candidature-source-badge.is-company.has-company-logo{
    padding-top:7px;
    padding-bottom:7px;
}

.candidature-source-badge-mark{
    display:grid;
    flex:0 0 34px;
    width:34px;
    height:34px;
    place-items:center;
    border-radius:10px;
    color:#ffffff;
    font-size:13px;
    font-weight:900;
    line-height:1;
    box-shadow:0 4px 10px rgba(45,82,87,.14);
}

.candidature-source-badge.is-freelance .candidature-source-badge-mark{
    background:#4fa99f;
}

.candidature-source-badge.is-company .candidature-source-badge-mark{
    background:#6877bd;
}

.candidature-source-badge.is-company .candidature-source-badge-mark.has-logo{
    display:flex;
    flex:0 0 auto;
    width:auto;
    min-width:40px;
    max-width:80px;
    height:40px;
    align-items:center;
    justify-content:center;
    overflow:visible;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

.candidature-source-badge-logo{
    display:block;
    width:auto;
    height:100%;
    max-width:80px;
    object-fit:contain;
    object-position:center;
}

.candidature-source-badge-copy{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:2px;
    line-height:1.3;
}

.candidature-source-badge-copy strong{
    color:inherit;
    font-size:13px;
    font-weight:850;
}

.candidature-source-badge-copy small{
    color:inherit;
    font-size:10px;
    font-weight:700;
    opacity:.78;
}

.contact-revealed-badge{
    flex-shrink:0;
    padding:6px 10px;
    border-radius:999px;
    background:#eef9f3;
    border:1px solid #bfe6ca;
    color:#2f6f3d;
    font-size:11px;
    font-weight:700;
}

.candidature-contact-identity-row{
    display:flex;
    align-items:baseline;
    gap:7px;
    min-width:0;
    flex-wrap:wrap;
    margin-bottom:3px;
}

.candidature-admin-consultant-inline{
    display:inline-flex;
    align-items:baseline;
    gap:5px;
    min-width:0;
    flex-wrap:wrap;
    color:#61777b;
    font-size:11px;
    font-weight:650;
    line-height:1.4;
}

.candidature-admin-consultant-inline > strong{
    color:#3f5f63;
    font-size:inherit;
    font-weight:850;
}

.candidature-admin-consultant-inline a{
    color:#438d92;
    font-weight:750;
    text-decoration:none;
}

.candidature-admin-consultant-inline a:hover,
.candidature-admin-consultant-inline a:focus-visible{
    color:#28666a;
    text-decoration:underline;
    outline:none;
}

.candidature-admin-inline-separator{
    color:#a3b1b3;
}

.candidature-admin-consultant-inline .candidature-admin-inline-cv{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:22px;
    min-height:22px;
    border:1px solid #b9dada;
    border-radius:6px;
    background:#edf7f6;
    line-height:1;
    text-decoration:none;
}

.candidature-admin-consultant-inline .candidature-admin-inline-cv:hover,
.candidature-admin-consultant-inline .candidature-admin-inline-cv:focus-visible{
    border-color:#61a6ab;
    background:#dff0ef;
    text-decoration:none;
}

@media (max-width:640px){
    .contact-revealed-header{
        flex-direction:column;
        align-items:stretch;
    }

    .candidature-source-badge{
        width:100%;
        box-sizing:border-box;
    }

    .contact-revealed-origin{
        width:100%;
    }

    .contact-revealed-origin .candidature-source-badge{
        width:auto;
        flex:1 1 auto;
    }

    .contact-revealed-badge{
        align-self:flex-start;
    }

}

.contact-revealed-main{
    display:flex;
    align-items:flex-start;
    gap:12px;
}

.contact-revealed-details{
    flex:1 1 auto;
    width:100%;
    min-width:0;
}

.contact-reveal-modal .appstore-modal{
    width:min(560px,100%);
}

.contact-reveal-bill{
    margin-bottom:16px;
}

.contact-reveal-candidate-feature {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.contact-reveal-candidate-initials {
    width: 34px;
    height: 34px;
    min-width: 34px;
    font-size: 12px;
}

.contact-reveal-plan-line {
    margin: 14px 0 10px;
    color: #555555;
    font-size: 12px;
    font-weight: 700;
}

.contact-reveal-plan-line strong {
    color: #2f6f73;
}

.contact-reveal-credit-cost {
    color: #b00020 !important;
}

.mission-position-plan-line {
    margin-top: 18px;
}

.mission-position-quota-box {
    margin-top: 12px;
    margin-bottom: 14px;
}

.mission-position-quota-box.limited {
    background: #fff8e8;
    border-color: #f0c36d;
}

.mission-position-quota-box.limited .appstore-modal-bill-total {
    border-top-color: #edd08d;
    color: #8a5a00 !important;
}

.mission-position-quota-box.limited .appstore-modal-bill-total strong {
    color: #8a5a00;
}

.mission-position-quota-warning {
    margin-top: 12px;
    margin-bottom: 14px;
    padding: 12px 14px;
    background: #fff8e8;
    border: 1px solid #f0c36d;
    border-radius: 8px;
    color: #7a4e00;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
}

.mission-position-upgrade-button {
    background: #b87500 !important;
    border-color: #9f6300 !important;
    color: #ffffff !important;
}

.mission-position-upgrade-button:hover {
    background: #9f6300 !important;
}

.mission-position-confirm-check {
    margin-top: 14px;
}

.contact-reveal-unavailable{
    background:#fff8f0;
    border:1px solid #f2d59c;
    border-radius:8px;
    padding:12px;
    font-size:12px;
    color:#6f4b12;
    line-height:1.55;
}

.contact-reveal-form .appstore-modal-check,
.contact-reveal-form .appstore-modal-check *{
    cursor:pointer;
}

.candidature-card-header {
    align-items: center;
}

.candidature-card-header-left {
    align-items: center;
}

.candidature-card-header-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.candidature-card-header-right .status-badge {
    min-width: 135px;
    text-align: center;
}

.candidature-card-header-right .candidature-status-trigger {
    appearance: none;
    padding: 7px 13px;
    font-family: inherit;
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: 0.01em;
    cursor: pointer;
    box-shadow: 0 3px 9px rgba(47, 111, 115, 0.14);
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.candidature-card-header-right .candidature-status-trigger:hover {
    transform: translateY(-1px);
    box-shadow: 0 5px 12px rgba(47, 111, 115, 0.2);
    filter: saturate(1.08);
}

.candidature-card-header-right .candidature-status-trigger:focus-visible {
    outline: 2px solid rgba(97, 166, 171, 0.42);
    outline-offset: 2px;
}

.candidature-card-header-right .candidature-status-trigger.pending {
    background: #eef4f4;
    color: #53696b;
    border-color: #b8ccce;
}

.candidature-cv-button {
    background: #61A6AB !important;
    color: #ffffff !important;
    border: 1px solid #61A6AB !important;
    font-size: 12px;
    padding: 9px 14px;
    box-shadow: 0 4px 10px rgba(97,166,171,0.28);
}

.candidature-cv-button:hover {
    background: #4f9297 !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.candidature-footer-actions {
    margin-left: auto;
    justify-content: flex-end;
}

.candidature-action-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px dashed #dcebed;
}

.candidature-ai-decision-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 168px;
    align-items: stretch;
    gap: 12px;
    margin-top: 16px;
}

.candidature-ai-criteria-block {
    width: 100%;
    min-width: 0;
    margin-top: 10px;
}

.candidature-ai-criteria-block .appel-profile-ai-line {
    margin-top: 0;
}

.candidature-ai-criteria-block .appel-profile-ai-line + .appel-profile-ai-line {
    margin-top: 7px;
}

.candidature-ai-decision-help {
    min-width: 0;
    padding: 8px 11px;
    border: 1px solid #c9e3df;
    border-radius: 8px;
    background: #eef8f1;
    color: #425f63;
    font-size: 11px;
    line-height: 1.25;
}

.candidature-ai-decision-help.is-locked {
    display: block;
    background: linear-gradient(135deg, #eef8f1 0%, #f8fcfa 100%);
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.candidature-ai-decision-help.is-locked:hover,
.candidature-ai-decision-help.is-locked:focus-visible {
    border-color: #61a6ab;
    box-shadow: 0 4px 12px rgba(49, 112, 117, 0.14);
    transform: translateY(-1px);
    outline: none;
}

.candidature-ai-review-gate {
    display: grid;
    gap: 3px;
    padding-top: 1px;
}

.candidature-ai-review-gate strong {
    color: #294b4f;
    font-size: 11px;
}

.candidature-ai-review-gate span {
    color: #6e8588;
}

.candidature-ai-decision-title {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
    color: #294b4f;
    font-size: 10px;
}

.candidature-ai-decision-badge,
.candidature-ai-decision-kind {
    flex: 0 0 auto;
    border-radius: 999px;
    font-weight: 900;
    line-height: 1;
}

.candidature-ai-decision-badge {
    padding: 3px 5px;
    background: #61a6ab;
    color: #ffffff;
    font-size: 8px;
}

.candidature-ai-decision-line {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
    margin-top: 3px;
}

.candidature-ai-decision-line + .candidature-ai-decision-line {
    margin-top: 7px;
}

.candidature-ai-decision-kind {
    min-width: 25px;
    padding: 3px 5px;
    text-align: center;
    font-size: 8px;
}

.candidature-ai-decision-kind.is-ok {
    background: #d9efdf;
    color: #28623a;
}

.candidature-ai-decision-kind.is-ko {
    background: #f6e1df;
    color: #8a3f39;
}

.candidature-ai-decision-text {
    min-width: 0;
    overflow-wrap: anywhere;
}

.candidature-ai-decision-text.is-pending {
    color: #91a0a2;
    font-style: italic;
}

.candidature-ai-decision-row .candidature-matching-pill {
    width: 168px;
    height: auto;
    min-height: 100%;
}

.candidature-ai-decision-row .candidature-matching-score {
    margin: 0;
    color: #2f6f3d;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
}

.candidature-ai-decision-row .candidature-matching-label {
    font-size: 10px;
    line-height: 1.1;
}

.candidature-ai-decision-row .candidature-matching-score + .candidature-matching-label {
    margin-top: 5px;
    font-size: 14px;
}

.candidature-status-form,
.candidature-secondary-actions {
    display: flex;
    align-items: center;
    gap: 11px;
}

.candidature-status-form {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}

.candidature-status-form .statut-candidature-select {
    width: 170px;
    min-width: 145px;
}

.candidature-status-form .mini-button {
    flex: 0 0 auto;
    white-space: nowrap;
}

.candidature-secondary-actions {
    flex: 0 0 auto;
    margin-left: auto;
    gap: 12px;
}

.candidature-ko-reason-chip {
    display: inline-flex;
    align-items: center;
    flex: 0 1 138px;
    width: 138px;
    min-width: 112px;
    max-width: 138px;
    min-height: 36px;
    padding: 8px 11px;
    border: 1px solid #e0a0a0;
    border-radius: 6px;
    background: #fff0f0;
    color: #a1182e;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.candidature-ko-reason-chip[hidden] {
    display: none;
}

.candidature-ko-reason-chip:hover {
    border-color: #c96f7e;
    background: #ffe7e7;
}

.candidature-ko-reason-chip-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.candidature-ko-reason-modal .appstore-modal {
    max-height: calc(100vh - 48px);
    overflow-y: auto;
}

.candidature-ko-reason-list {
    display: grid;
    gap: 8px;
    margin-top: 18px;
}

.candidature-ko-reason-group-title {
    margin-top: 8px;
    padding: 0 2px;
    color: #6f8588;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1.3;
    text-transform: uppercase;
}

.candidature-ko-reason-group-title:first-child {
    margin-top: 0;
}

.candidature-ko-reason-option {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 11px 13px;
    border: 1px solid #dfe6e8;
    border-radius: 8px;
    background: #f8fbfb;
    color: #334f52;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    cursor: pointer;
}

.candidature-ko-reason-option:hover {
    border-color: #b9deda;
    background: #f0f8f7;
}

.candidature-ko-reason-option:has(input:checked) {
    border-color: #61a6ab;
    background: #eaf5f5;
    box-shadow: 0 0 0 2px rgba(97, 166, 171, 0.12);
}

.candidature-ko-reason-option input {
    flex: 0 0 auto;
    margin: 0;
    accent-color: #61a6ab;
    cursor: pointer;
}

.candidature-ko-reason-ai-badge {
    margin-left: auto;
    padding: 3px 7px;
    border-radius: 999px;
    background: #d9eeee;
    color: #34777c;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.candidature-ko-ai-explanation {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 16px;
    padding: 14px 16px;
    border: 1px solid #61a6ab;
    border-radius: 10px;
    background: linear-gradient(135deg, #eaf7f8 0%, #ffffff 100%);
    color: #425f63;
    font-size: 12px;
    line-height: 1.5;
}

.candidature-ko-ai-explanation-badge {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 999px;
    background: #61a6ab;
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

.candidature-ko-ai-explanation.is-locked {
    border-style: dashed;
    background: linear-gradient(135deg, #eef8f1 0%, #ffffff 100%);
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.candidature-ko-ai-explanation.is-locked:hover,
.candidature-ko-ai-explanation.is-locked:focus-visible {
    border-color: #61a6ab;
    box-shadow: 0 4px 12px rgba(49, 112, 117, 0.14);
    transform: translateY(-1px);
    outline: none;
}

.candidature-ko-ai-explanation.is-locked > div {
    display: grid;
    gap: 4px;
}

.candidature-ko-ai-explanation strong,
.candidature-ko-ai-explanation div > span {
    display: block;
}

.candidature-ko-ai-explanation strong {
    margin-bottom: 4px;
    color: #294b4f;
    font-size: 13px;
}

@keyframes fadeToastCentered {
    0% { opacity: 0; transform: translate(-50%, -5px); }
    15% { opacity: 1; transform: translate(-50%, 0); }
    75% { opacity: 1; transform: translate(-50%, 0); }
    100% { opacity: 0; transform: translate(-50%, 0); }
}

.candidature-comment-zone + .candidature-comment-zone {
    margin-top: 18px;
}

.candidature-footer-split {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.candidature-footer-left {
    display: flex;
    align-items: center;
    gap: 8px;
}

.candidature-footer-actions {
    margin-left: auto;
}

.candidature-list-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: 0;
}

.candidature-view-switch {
    display: inline-flex;
    align-items: center;
    padding: 3px;
    border: 1px solid #d7e6e5;
    border-radius: 999px;
    background: #f4f8f8;
}

.candidature-view-switch button {
    min-height: 30px;
    padding: 6px 12px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #61787c;
    font: inherit;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.candidature-view-switch button:hover,
.candidature-view-switch button:focus-visible {
    color: #2f7479;
    outline: none;
}

.candidature-view-switch button.is-active {
    background: #61a6ab;
    color: #ffffff;
    box-shadow: 0 3px 8px rgba(61, 117, 121, 0.18);
}

.candidature-errors-table-wrap {
    overflow-x: auto;
    border: 1px solid #d8e8e7;
    border-radius: 10px;
    background: #ffffff;
}

.candidature-errors-table {
    width: 100%;
    min-width: 700px;
    border-collapse: collapse;
    font-size: 12px;
}

.candidature-errors-table th,
.candidature-errors-table td {
    padding: 11px 13px;
    border-bottom: 1px solid #e5efee;
    text-align: left;
    vertical-align: middle;
}

.candidature-errors-table th {
    background: #f1f8f7;
    color: #3c777b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.candidature-errors-table tr:last-child td {
    border-bottom: 0;
}

.candidature-errors-table a {
    color: #3f9298;
    font-weight: 700;
    text-decoration: underline;
}

.candidature-errors-action-cell {
    width: 1%;
    text-align: right !important;
    white-space: nowrap;
}

.candidature-errors-action-cell form {
    margin: 0;
}

.candidature-error-delete {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #efcaca;
    border-radius: 8px;
    background: #fff6f6;
    cursor: pointer;
    font-size: 15px;
    line-height: 1;
}

.candidature-error-delete:hover,
.candidature-error-delete:focus-visible {
    background: #ffe9e9;
    border-color: #df9f9f;
    outline: none;
}

.candidature-card-list,
.candidature-list-item,
.candidature-compact-row,
.candidature-compact-cell,
.candidature-compact-primary {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.candidature-card-list.is-list-view {
    gap: 26px !important;
}

.candidature-card-list.is-cards-view {
    gap: 26px !important;
}

.candidature-list-item {
    width: 100%;
}

.candidature-compact-row {
    position: relative;
    display: grid;
    grid-template-columns:
        minmax(0, 2fr)
        minmax(0, .9fr)
        minmax(0, 1.15fr)
        minmax(0, 1.05fr)
        minmax(0, .9fr)
        minmax(0, .78fr)
        minmax(0, .78fr)
        18px;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 12px 13px;
    border: 1px solid #dce8e8;
    border-left: 4px solid #61a6ab;
    border-radius: 9px;
    background: #ffffff;
    color: #2d4549;
    cursor: pointer;
    transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
    overflow: hidden;
}

.candidature-list-item:nth-child(even) .candidature-compact-row {
    background: #fbfdfd;
}

.candidature-compact-row:hover,
.candidature-compact-row:focus-visible,
.candidature-list-item.is-expanded .candidature-compact-row {
    border-color: #a9d4d2;
    background: #f3faf9;
    box-shadow: 0 7px 18px rgba(40, 75, 78, 0.09);
    outline: none;
}

.candidature-compact-cell {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    overflow-wrap: anywhere;
}

.candidature-compact-cell > span {
    color: #7a8e91;
    font-size: 8px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .025em;
}

.candidature-compact-cell > strong,
.candidature-compact-cell > a {
    color: #2d4549;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.candidature-compact-identity {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
}

.candidature-compact-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid #86c2c4;
    border-radius: 50%;
    background: #eaf5f5;
    color: #32777b !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.candidature-compact-primary {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.candidature-compact-primary strong {
    color: #1f3539;
    font-size: 11px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.candidature-compact-primary small {
    color: #667b7f;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.candidature-compact-status .status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    min-height: 27px;
    padding: 5px 6px;
    white-space: normal;
    overflow-wrap: anywhere;
}

.candidature-compact-score > strong {
    color: #347f4c;
}

.candidature-compact-cv-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    padding: 5px 6px;
    border: 1px solid #9bcacd;
    border-radius: 6px;
    background: #edf7f7;
    color: #32777b !important;
    text-align: center;
    text-decoration: none;
}

.candidature-compact-cv-link:hover,
.candidature-compact-cv-link:focus-visible {
    border-color: #61a6ab;
    background: #dff0f0;
    outline: none;
}

.candidature-compact-chevron {
    color: #4d8e92;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    transition: transform 160ms ease;
}

.candidature-list-item.is-expanded .candidature-compact-chevron {
    transform: rotate(180deg);
}

.candidature-card-list.is-list-view .candidature-card {
    display: none;
    margin-top: 10px;
}

.candidature-card-list.is-list-view .candidature-list-item.is-expanded .candidature-card {
    display: flex;
}

.candidature-card-list.is-cards-view .candidature-compact-row {
    display: none;
}

.candidature-card-list.is-cards-view .candidature-list-item:nth-child(even) .candidature-card {
    background: #fbfdfd;
}

@media (max-width: 900px) {
    #liste-candidatures .process-title-with-count {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .candidature-list-toolbar {
        width: 100%;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .candidature-compact-row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        padding-right: 34px;
    }

    .candidature-compact-identity {
        grid-column: span 2;
    }

    .candidature-compact-chevron {
        position: absolute;
        top: 50%;
        right: 12px;
        transform: translateY(-50%);
    }

    .candidature-list-item.is-expanded .candidature-compact-chevron {
        transform: translateY(-50%) rotate(180deg);
    }
}

@media (max-width: 580px) {
    .candidature-list-toolbar .result-limit-form {
        width: 100%;
    }

    .candidature-compact-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .candidature-compact-identity {
        grid-column: 1 / -1;
    }
}

#liste-candidatures .consultant-card-list {
    gap: 75px;
}

#liste-candidatures .candidature-card {
    padding: 22px;
    margin-bottom: 0;
    border-left: 0;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(40,75,78,0.08);
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

#liste-candidatures .candidature-card:nth-child(even) {
    background: #fbfdfd;
}

#liste-candidatures .candidature-card-list.is-cards-view .candidature-list-item .candidature-card {
    background: #ffffff;
}

#liste-candidatures .candidature-card-list.is-cards-view .candidature-list-item:nth-child(even) .candidature-card {
    background: #fbfdfd;
}

/* Vue synthétique des candidatures */
#liste-candidatures > .process-title {
    margin-bottom: 0;
}

#liste-candidatures .candidature-list-toolbar {
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
    width: 100%;
    margin: 15px 0 18px;
    padding: 14px 0;
    border-top: 1px solid #e5eeee;
    border-bottom: 1px solid #e5eeee;
}

.candidature-view-control {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 11px;
    min-width: 0;
}

.candidature-view-control > span,
.candidature-results-settings label > span {
    color: #6b8185;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .045em;
}

.candidature-view-switch {
    padding: 4px;
    border-color: #cfe2e1;
    background: #f1f7f6;
}

.candidature-view-switch button {
    min-height: 34px;
    padding: 7px 14px;
    font-size: 10px;
}

.candidature-client-email-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    padding: 9px 15px;
    border: 1px solid #4f999f;
    border-radius: 9px;
    box-shadow: 0 5px 13px rgba(68, 135, 141, .16);
    white-space: nowrap;
}

.candidature-client-email-open > span {
    font-size: 15px;
    line-height: 1;
}

.candidature-client-email-open-disabled,
.candidature-client-email-open-disabled:hover {
    background: #dddddd;
    border-color: #cfcfcf;
    color: #777777;
    box-shadow: none;
    cursor: not-allowed;
    opacity: .72;
    transform: none;
}

.candidature-client-email-tooltip {
    position: relative;
    display: inline-flex;
}

.candidature-client-email-tooltip::after {
    position: absolute;
    z-index: 20;
    right: 0;
    bottom: calc(100% + 10px);
    width: 290px;
    padding: 9px 12px;
    border: 1px solid #d5e2e3;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(44, 85, 89, .16);
    color: #315e63;
    content: attr(data-tooltip);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity .15s ease, transform .15s ease;
}

.candidature-client-email-tooltip:hover::after,
.candidature-client-email-tooltip:focus-within::after {
    opacity: 1;
    transform: translateY(0);
}

.mission-candidatures-back-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.mission-candidatures-back-actions .back-link {
    margin: 0;
}

.candidature-client-email-dialog {
    width: min(760px, 100%);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    padding: 28px;
}

.candidature-client-email-intro {
    max-width: 650px;
    margin: 0 0 21px;
    color: #60767a;
    font-size: 13px;
    line-height: 1.55;
}

.candidature-client-email-field {
    display: grid;
    gap: 7px;
    margin-top: 15px;
}

.candidature-client-email-field > label {
    color: #315f64;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.candidature-client-email-subject-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
}

.candidature-client-email-field input,
.candidature-client-email-field select,
.candidature-client-email-field textarea {
    width: 100%;
    border: 1px solid #cfe1e2;
    border-radius: 9px;
    background: #fbfdfd;
    color: #263f43;
    font: inherit;
    line-height: 1.55;
    box-sizing: border-box;
}

.candidature-client-email-field input {
    min-height: 42px;
    padding: 9px 12px;
}

.candidature-client-email-field select {
    min-height: 42px;
    padding: 9px 38px 9px 12px;
}

.candidature-client-email-filter {
    max-width: 320px;
    margin-top: 0;
    margin-bottom: 19px;
}

.candidature-client-email-field textarea {
    min-height: 355px;
    padding: 14px;
    resize: vertical;
}

.candidature-client-email-field input:focus,
.candidature-client-email-field select:focus,
.candidature-client-email-field textarea:focus {
    outline: none;
    border-color: #61a6ab;
    box-shadow: 0 0 0 3px rgba(97, 166, 171, .12);
}

.candidature-client-email-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.candidature-client-email-dialog .candidature-client-email-copy,
.candidature-client-email-actions .candidature-client-email-close {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 15px;
    border: 1px solid transparent;
    border-radius: 8px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.candidature-client-email-dialog .candidature-client-email-copy {
    border-color: #559da2;
    background: #61a6ab;
    color: #ffffff;
    box-shadow: 0 5px 12px rgba(74, 143, 149, .18);
}

.candidature-client-email-dialog .candidature-client-email-copy:hover {
    border-color: #478a8f;
    background: #4f9297;
    color: #ffffff;
    box-shadow: 0 7px 16px rgba(74, 143, 149, .24);
    transform: translateY(-1px);
}

.candidature-client-email-subject-row .candidature-client-email-copy {
    min-width: 78px;
}

.candidature-client-email-actions .candidature-client-email-close {
    border-color: #cfddde;
    background: #f4f8f8;
    color: #315f64;
    box-shadow: none;
}

.candidature-client-email-actions .candidature-client-email-close:hover {
    border-color: #abc9cb;
    background: #e9f2f2;
    color: #254f53;
    transform: translateY(-1px);
}

.candidature-client-email-dialog .candidature-client-email-copy:focus-visible,
.candidature-client-email-actions .candidature-client-email-close:focus-visible {
    outline: 3px solid rgba(97, 166, 171, .2);
    outline-offset: 2px;
}

.candidature-client-email-feedback {
    margin-right: auto;
    color: #39777c;
    font-size: 12px;
    font-weight: 700;
}

body.candidature-client-email-modal-opened {
    overflow: hidden;
}

@media (max-width: 760px) {
    #liste-candidatures .candidature-list-toolbar,
    .candidature-view-control {
        align-items: stretch;
        flex-direction: column;
    }

    .candidature-client-email-open {
        width: 100%;
    }

    .mission-candidatures-back-actions {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
    }

    .candidature-client-email-modal {
        padding: 12px;
    }

    .candidature-client-email-dialog {
        max-height: calc(100vh - 24px);
        padding: 22px 16px 18px;
    }

    .candidature-client-email-subject-row {
        grid-template-columns: 1fr;
    }

    .candidature-client-email-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .candidature-client-email-feedback {
        margin-right: 0;
    }
}

.candidature-results-settings {
    display: flex;
    align-items: flex-end;
    gap: 9px;
}

.candidature-results-settings label {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
}

.candidature-results-settings select {
    min-height: 36px;
}

#liste-candidatures .candidature-compact-row {
    display: block;
    padding: 0;
    border: 1px solid #dbe8e7;
    border-left: 4px solid #61a6ab;
    border-radius: 11px;
    background: #ffffff;
    overflow: hidden;
}

#liste-candidatures .candidature-list-item:nth-child(even) .candidature-compact-row {
    background: #fbfdfd;
}

.candidature-compact-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
    padding: 13px 15px 11px;
}

#liste-candidatures .candidature-compact-identity {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.candidature-compact-primary strong {
    display: block;
    color: #253f43;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.candidature-compact-primary strong > span {
    margin: 0 4px;
    color: #93a7aa;
    font-weight: 700;
}

.candidature-compact-primary em {
    color: #527176;
    font-style: normal;
    font-weight: 750;
}

.candidature-compact-meta {
    display: grid;
    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(0, .82fr)
        minmax(0, 1.18fr)
        minmax(0, .9fr)
        minmax(0, .82fr);
    align-items: stretch;
    gap: 0;
    min-width: 0;
    border-top: 1px solid #edf2f2;
    background: rgba(246, 250, 250, .76);
    max-height: 180px;
    opacity: 1;
    overflow: hidden;
    transition: max-height 190ms ease, opacity 140ms ease, border-color 160ms ease;
}

.candidature-compact-meta-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 0;
    min-height: 58px;
    padding: 9px 12px;
    border-right: 1px solid #e7eeee;
    box-sizing: border-box;
    text-align: center;
}

.candidature-compact-meta-item:last-child {
    border-right: 0;
}

.candidature-compact-meta-item > strong {
    color: #2e484c;
    font-size: 10px;
    font-weight: 850;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.candidature-compact-status .status-badge {
    width: auto;
    min-width: 135px;
    min-height: 0;
    padding: 7px 13px;
    border-radius: 99px;
    font-size: 11px;
    line-height: 1.2;
    white-space: normal;
    text-align: center;
    box-shadow: 0 3px 9px rgba(47, 111, 115, 0.14);
}

.candidature-compact-meta-item.candidature-compact-cv {
    flex-direction: row;
}

.candidature-precision-compact-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    padding: 0;
    border: 1px solid #c9dfe0;
    border-radius: 50%;
    background: #f4f9f9;
    color: #7c9a9d;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    opacity: .72;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, opacity 160ms ease, transform 160ms ease;
}

.candidature-precision-compact-open:hover,
.candidature-precision-compact-open:focus-visible {
    border-color: #61a6ab;
    background: #eaf5f5;
    color: #2f6f73;
    opacity: 1;
    outline: none;
    transform: translateY(-1px);
}

.candidature-precision-compact-open.has-note {
    position: relative;
    border: 2px solid #3d9d98;
    background: linear-gradient(135deg, #cfeee9 0%, #e9f8f5 100%);
    color: #176c6b;
    opacity: 1;
    box-shadow: 0 3px 10px rgba(47, 111, 115, .24);
}

.candidature-precision-compact-open.has-note::after {
    content: "";
    position: absolute;
    top: 1px;
    right: 1px;
    width: 7px;
    height: 7px;
    border: 1px solid #ffffff;
    border-radius: 50%;
    background: #e0a42d;
}

.candidature-precision-tooltip {
    position: fixed;
    z-index: 10050;
    max-width: min(360px, calc(100vw - 24px));
    padding: 10px 13px;
    border: 1px solid #9fcfce;
    border-radius: 10px;
    background: #f7fcfb;
    color: #294b4f;
    box-shadow: 0 10px 26px rgba(40, 75, 78, .2);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
    white-space: pre-line;
    overflow-wrap: anywhere;
    pointer-events: none;
}

.status-badge.status-reflexion {
    border-color: #dfc47c;
    background: #fff7de;
    color: #775b16;
}

.status-badge.status-preselectionnee {
    border-color: #aaa9da;
    background: #f1f0fb;
    color: #56528f;
}

.status-badge.status-entretien {
    border-color: #8ebbd9;
    background: #edf7fd;
    color: #376d91;
}

.candidature-card-header-right .candidature-status-trigger.status-reflexion {
    border-color: #dfc47c;
    background: #fff7de;
    color: #775b16;
}

.candidature-card-header-right .candidature-status-trigger.status-preselectionnee {
    border-color: #aaa9da;
    background: #f1f0fb;
    color: #56528f;
}

.candidature-card-header-right .candidature-status-trigger.status-entretien {
    border-color: #8ebbd9;
    background: #edf7fd;
    color: #376d91;
}

.candidature-compact-score .candidature-matching-pill {
    width: auto;
    min-width: 76px;
    height: auto;
    min-height: 30px;
    padding: 5px 9px;
    border-radius: 999px;
}

.candidature-compact-score .candidature-matching-label {
    font-size: 8px;
}

.candidature-compact-cv .candidature-compact-cv-link {
    width: auto;
    min-height: 0;
    margin: 0;
    padding: 9px 14px;
    border-color: #61a6ab;
    border-radius: 6px;
    background: #61a6ab;
    color: #ffffff !important;
    font-size: 12px;
    white-space: nowrap;
}

.candidature-compact-cv .candidature-compact-cv-link:hover,
.candidature-compact-cv .candidature-compact-cv-link:focus-visible {
    border-color: #4f9297;
    background: #4f9297;
    color: #ffffff !important;
}

.candidature-compact-chevron {
    flex: 0 0 auto;
    width: 29px;
    height: 29px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #cbe0df;
    border-radius: 50%;
    background: #f2f8f7;
    color: #3b8589;
}

#liste-candidatures .candidature-list-item.is-expanded {
    border: 1px solid #92c7c7;
    border-left: 4px solid #4f9fa4;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 13px 30px rgba(40, 75, 78, .14);
    overflow: hidden;
}

#liste-candidatures .candidature-card-list.is-cards-view .candidature-list-item {
    border: 1px solid #92c7c7;
    border-left: 4px solid #4f9fa4;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 13px 30px rgba(40, 75, 78, .14);
    overflow: hidden;
}

#liste-candidatures .candidature-list-item.is-expanded .candidature-compact-row {
    border: 0;
    border-bottom: 1px solid #bcdada;
    border-radius: 0;
    background: linear-gradient(135deg, #edf8f7 0%, #f8fcfb 100%);
    box-shadow: none;
}

#liste-candidatures .candidature-card-list.is-cards-view .candidature-compact-row {
    display: block;
    border: 0;
    border-bottom: 1px solid #bcdada;
    border-radius: 0;
    background: linear-gradient(135deg, #edf8f7 0%, #f8fcfb 100%);
    box-shadow: none;
    cursor: default;
}

#liste-candidatures .candidature-card-list.is-list-view:has(.candidature-list-item.is-expanded) .candidature-list-item:not(.is-expanded) {
    opacity: .72;
    filter: saturate(.82);
    transition: opacity 180ms ease, filter 180ms ease;
}

#liste-candidatures .candidature-card-list.is-list-view:has(.candidature-list-item.is-expanded) .candidature-list-item:not(.is-expanded):hover {
    opacity: .88;
    filter: saturate(.95);
}

#liste-candidatures .candidature-list-item.is-expanded .candidature-compact-meta {
    max-height: 0;
    opacity: 0;
    border-top-color: transparent;
}

#liste-candidatures .candidature-card-list.is-cards-view .candidature-compact-meta {
    max-height: 0;
    opacity: 0;
    border-top-color: transparent;
}

#liste-candidatures .candidature-list-item.is-expanded .candidature-card-header-left,
#liste-candidatures .candidature-card-list.is-cards-view .candidature-card-header-left {
    flex: 1 1 auto;
    align-items: center;
}

#liste-candidatures .candidature-card-list.is-list-view .candidature-expanded-identity {
    display: none;
}

#liste-candidatures .candidature-card-list.is-cards-view .candidature-expanded-identity {
    display: none;
}

#liste-candidatures .candidature-card-list.is-cards-view .candidature-compact-chevron {
    display: none;
}

#liste-candidatures .candidature-list-item.is-expanded .candidature-card-title-zone,
#liste-candidatures .candidature-card-list.is-cards-view .candidature-card-title-zone {
    width: 100%;
    justify-content: center;
}

#liste-candidatures .candidature-list-item.is-expanded .candidature-card-meta-line,
#liste-candidatures .candidature-card-list.is-cards-view .candidature-card-meta-line {
    margin-top: 0;
}

#liste-candidatures .candidature-card-list.is-list-view .candidature-list-item.is-expanded .candidature-card {
    margin-top: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

#liste-candidatures .candidature-card-list.is-cards-view .candidature-list-item .candidature-card {
    display: flex;
    margin-top: 0;
    border: 0;
    border-radius: 0;
    background: #ffffff;
    box-shadow: none;
}

#liste-candidatures .candidature-card-list.is-list-view .candidature-list-item.is-expanded .candidature-card:hover {
    transform: none;
    box-shadow: none;
}

#liste-candidatures .candidature-card-list.is-cards-view .candidature-list-item .candidature-card:hover {
    transform: none;
    border-color: transparent;
    box-shadow: none;
}

@media (max-width: 820px) {
    #liste-candidatures .candidature-list-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .candidature-results-settings {
        width: 100%;
        flex-wrap: wrap;
    }

    .candidature-compact-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .candidature-compact-meta-item {
        border-bottom: 1px solid #e7eeee;
    }

    .candidature-compact-meta-item:nth-child(even) {
        border-right: 0;
    }

    .candidature-compact-meta-item:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 520px) {
    .candidature-view-switch {
        width: 100%;
    }

    .candidature-view-switch button {
        flex: 1 1 50%;
    }

    .candidature-results-settings label,
    .candidature-results-settings select {
        width: 100%;
    }

    .candidature-compact-primary strong > span {
        display: none;
    }

    .candidature-compact-primary em {
        display: block;
        margin-top: 2px;
    }

    .candidature-compact-meta {
        grid-template-columns: minmax(0, 1fr);
    }

    .candidature-compact-meta-item,
    .candidature-compact-meta-item:nth-child(even) {
        border-right: 0;
    }
}

#liste-candidatures .candidature-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(40,75,78,0.12);
    border-color: #c8e5e7;
}

body.contact-reveal-modal-opened #liste-candidatures .candidature-card,
body.contact-reveal-modal-opened #liste-candidatures .candidature-card:hover,
body.candidature-precision-modal-opened #liste-candidatures .candidature-card,
body.candidature-precision-modal-opened #liste-candidatures .candidature-card:hover,
body.candidature-ko-reason-modal-opened #liste-candidatures .candidature-card,
body.candidature-ko-reason-modal-opened #liste-candidatures .candidature-card:hover {
    transform:none !important;
    transition:none !important;
}

body.contact-reveal-modal-opened #liste-candidatures .candidature-card:hover,
body.candidature-precision-modal-opened #liste-candidatures .candidature-card:hover,
body.candidature-ko-reason-modal-opened #liste-candidatures .candidature-card:hover {
    box-shadow:0 8px 22px rgba(40,75,78,0.08);
    border-color:#dbe5e7;
}

#liste-candidatures .candidature-card-header {
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid #e8eeee;
}

#liste-candidatures .candidature-info-grid {
    margin-top: 0;
    gap: 12px;
    max-width: none;
    grid-template-columns: repeat(4, 1fr);
}

#liste-candidatures .candidature-comment-zone {
    margin-top: 18px;
}

#liste-candidatures .candidature-contact-box {
    padding: 16px;
}

#liste-candidatures .candidature-footer-split {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px dashed #dcebed;
}

.status-badge.danger {
    background: #fff0f0;
    color: #b00020;
    border: 1px solid #e0a0a0;
}

button.mini-button,
a.mini-button {
    cursor: pointer;
}

.dashboard-top-tools {
    display: grid;
    grid-template-columns: 1fr auto auto auto;
    gap: 10px;
    align-items: center;
    margin-bottom: 18px;
}

.dashboard-search {
    display: flex;
    gap: 8px;
}

.dashboard-search input {
    flex: 1;
    border: 1px solid #dddddd;
    border-radius: 8px;
    padding: 11px 12px;
    font-size: 13px;
    box-sizing: border-box;
}

.dashboard-search button {
    border: none;
    background: #61A6AB;
    color: #ffffff;
    border-radius: 8px;
    padding: 0 14px;
    font-weight: bold;
    cursor: pointer;
}

.dashboard-tool-card {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 8px;
    padding: 10px 12px;
    color: #333333;
    text-decoration: none;
    font-size: 12px;
    white-space: nowrap;
}

.dashboard-tool-card:hover {
    background: #EAF4F5;
    border-color: #61A6AB;
}

.dashboard-quick-actions {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 18px;
}

.dashboard-action-card {
    position: relative;
    background: linear-gradient(135deg, #EAF4F5 0%, #ffffff 100%);
    border: 1px solid #CFE8EA;
    border-left: 5px solid #61A6AB;
    border-radius: 16px;
    padding: 22px;
    min-height: 190px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 6px 18px rgba(97,166,171,0.12);
    transition: all .18s ease;
    overflow: hidden;
}

.dashboard-action-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(97,166,171,0.22);
    border-color: #61A6AB;
}

.dashboard-action-icon {
    font-size: 28px;
    margin-bottom: 10px;
}

.dashboard-action-text {
    color: #666666;
    font-size: 12px;
    line-height: 1.5;
    min-height: 38px;
    margin-bottom: 14px;
}

.dashboard-action-buttons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.dashboard-kpi-grid-6 {
    grid-template-columns: repeat(3, 1fr);
}

.dashboard-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.dashboard-feature-section-heading {
    margin-bottom: 14px;
}

.dashboard-feature-section-heading .process-title {
    margin-bottom: 0;
}

.dashboard-feature-card {
    display: flex;
    gap: 12px;
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 10px;
    padding: 14px;
    text-decoration: none;
    color: inherit;
}

.dashboard-feature-card:hover {
    background: #f8fbfb;
    border-color: #61A6AB;
}

.dashboard-feature-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #EAF4F5;
    border: 1px solid #CFE8EA;
    color: #2f6f73;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.dashboard-feature-title {
    font-weight: bold;
    color: #222222;
    margin-bottom: 5px;
}

.dashboard-feature-text {
    color: #666666;
    font-size: 12px;
    line-height: 1.5;
}

.dashboard-feature-meta {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.dashboard-feature-category {
    margin-top: 8px;
    color: #777777;
    font-size: 10px;
    line-height: 1.4;
}

.dashboard-feature-category-label {
    color: #999999;
}

.dashboard-feature-meta span,
.dashboard-reco-top span {
    display: inline-block;
    background: #f5f7f8;
    border: 1px solid #eeeeee;
    color: #555555;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 10px;
    font-weight: bold;
}

.dashboard-reco-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.dashboard-reco-card {
    background: #ffffff;
    border: 1px solid #dddddd;
    border-left: 4px solid #e0b45c;
    border-radius: 10px;
    padding: 14px;
    text-decoration: none;
    color: inherit;
}

.dashboard-reco-card:hover {
    background: #fffdf8;
    box-shadow: 0 6px 16px rgba(0,0,0,0.08);
}

.dashboard-reco-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.dashboard-reco-cta {
    margin-top: 12px;
    color: #2f6f73;
    font-weight: bold;
    font-size: 12px;
}

.dashboard-kpi-link {
    text-decoration: none;
    cursor: pointer;
    transition: all 0.15s ease;
}

.dashboard-kpi-link:hover {
    background: #EAF4F5;
    border-color: #61A6AB;
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(97,166,171,0.18);
}

.dashboard-action-buttons {
    justify-content: center;
}

.dashboard-action-buttons .mini-button {
    font-size: 11px;
    padding: 7px 9px;
}

.sa-menu-context-link {
    text-decoration: none;
    cursor: pointer;
}

.sa-menu-context-link:hover strong,
.sa-menu-context-link:hover span {
    color: #61A6AB;
}

.dashboard-action-card-image {
    background-size: 140px auto;
    background-position: right 18px top 18px;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
    min-height: 260px;
}

.dashboard-action-card-image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.90);
    z-index: 1;
}

.dashboard-action-card-image > * {
    position: relative;
    z-index: 2;
}

.dashboard-feature-image {
    width: 64px;
    height: 64px;
    border-radius: 14px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f5f7f8;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dashboard-feature-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dashboard-action-text{
    color:rgba(255,255,255,0.82);
    line-height:1.6;
}

.dashboard-action-buttons{
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
}

.dashboard-action-card {
    position: relative;
    background: linear-gradient(135deg, #EAF4F5 0%, #ffffff 100%);
    border: 1px solid #CFE8EA;
    border-left: 5px solid #61A6AB;
    border-radius: 16px;
    padding: 22px;
    min-height: 190px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    box-shadow: 0 6px 18px rgba(97,166,171,0.12);
    transition: all .18s ease;
    overflow: hidden;
}

.dashboard-action-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(97,166,171,0.22);
    border-color: #61A6AB;
}

.dashboard-action-text {
    color: #555555;
    font-size: 12px;
    line-height: 1.55;
    min-height: 42px;
    margin-bottom: 14px;
}

.dashboard-action-icon {
    font-size: 22px;
    margin-right: 6px;
}

.dashboard-action-buttons {
    display: flex;
    gap: 8px;
    justify-content: center;
    flex-wrap: nowrap;
}

.dashboard-action-buttons .mini-button {
    font-size: 10px;
    padding: 7px 8px;
    white-space: nowrap;
}

.dashboard-quick-actions,
.dashboard-kpi-grid,
.dashboard-hero,
.process-box {
    margin-bottom: 10px;
}

.dashboard-cockpit-page .page-content {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.dashboard-cockpit-page .dashboard-quick-actions {
    gap: 26px 30px;
    grid-template-columns: repeat(2, 1fr);
}

.dashboard-cockpit-page .dashboard-action-buttons {
    flex-wrap: wrap;
}

.dashboard-cockpit-page .dashboard-trust-grid {
    gap: 12px;
    margin-bottom: 16px;
}

.dashboard-cockpit-page .dashboard-zero-margin-banner {
    border-width: 1px;
    border-radius: 12px;
    gap: 12px;
    padding: 12px 16px;
    box-shadow: 0 6px 16px rgba(97,166,171,0.10);
}

.dashboard-cockpit-page .dashboard-zero-margin-badge {
    border-radius: 9px;
    font-size: 10px;
    letter-spacing: 0.3px;
    padding: 8px 10px;
}

.dashboard-cockpit-page .dashboard-zero-margin-title {
    font-size: 13px;
    margin-bottom: 2px;
}

.dashboard-cockpit-page .dashboard-zero-margin-text {
    font-size: 11px;
    line-height: 1.35;
}

.dashboard-opportunities-ticker {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #ffffff;
    border: 1px solid #d8edef;
    border-left: 4px solid #61A6AB;
    border-radius: 10px;
    color: inherit;
    margin-bottom: 18px;
    overflow: hidden;
    padding: 12px 16px;
    text-decoration: none;
}

.dashboard-opportunities-label {
    background: #61A6AB;
    border-radius: 999px;
    color: #ffffff;
    flex-shrink: 0;
    font-size: 10px;
    font-weight: 800;
    padding: 7px 12px;
    text-transform: uppercase;
}

.dashboard-opportunities-track {
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
}

.dashboard-opportunities-scroll {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    min-width: max-content;
    animation: dashboardTickerScroll 88s linear infinite;
}

.dashboard-opportunities-scroll span {
    position: relative;
    color: #485558;
    font-size: 12px;
}

.dashboard-opportunities-highlight {
    color: #2f6f73;
    font-weight: 800;
}

.dashboard-opportunities-scroll span::after {
    color: #d6a457;
    content: "•";
    font-weight: 800;
    margin-left: 20px;
}

.dashboard-opportunities-ticker:hover .dashboard-opportunities-scroll {
    animation-play-state: paused;
}

.dashboard-cockpit-page .dashboard-action-card {
    border-radius: 14px;
    border-left-width: 6px;
    box-shadow: 0 10px 24px rgba(97,166,171,0.14);
    min-height: 0;
    padding: 13px;
    background:radial-gradient(circle at 10% 12%, rgba(214,164,87,0.13), transparent 28%), linear-gradient(135deg, #ffffff 0%, #f8fbfb 100%);
}

/* =========================
   DASHBOARD - FIRST VISIT TOUR
   ========================= */

.sa-dashboard-tour-spotlight {
    position: fixed;
    z-index: 15990;
    box-sizing: border-box;
    border: 2px solid rgba(214, 164, 87, 0.96);
    background: transparent;
    box-shadow:
        0 0 0 6px rgba(255, 255, 255, 0.13),
        0 0 0 9999px rgba(22, 30, 31, 0.68),
        0 20px 55px rgba(0, 0, 0, 0.32);
    pointer-events: none;
    transition: left 0.22s ease, top 0.22s ease, width 0.22s ease, height 0.22s ease, border-radius 0.22s ease;
}

.sa-dashboard-tour-popover {
    position: fixed;
    z-index: 15992;
    width: 310px;
    box-sizing: border-box;
    padding: 22px;
    border: 1px solid rgba(214, 164, 87, 0.48);
    border-radius: 14px;
    background:
        radial-gradient(circle at 88% 4%, rgba(214, 164, 87, 0.18), transparent 32%),
        #fffefb;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
    color: #1f2d2f;
}

.sa-dashboard-tour-eyebrow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    color: #87704c;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

.sa-dashboard-tour-popover h2 {
    margin: 0 0 9px;
    color: #2f6f73;
    font-size: 20px;
    line-height: 1.2;
}

.sa-dashboard-tour-popover p {
    margin: 0;
    color: #536467;
    font-size: 13px;
    line-height: 1.6;
}

.sa-dashboard-tour-popover button {
    display: block;
    min-width: 110px;
    margin: 19px 0 0 auto;
    padding: 10px 18px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #2f6f73 0%, #61a6ab 100%);
    box-shadow: 0 8px 18px rgba(47, 111, 115, 0.24);
    color: #ffffff;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
}

.sa-dashboard-tour-popover button:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(47, 111, 115, 0.32);
}

.dashboard-cockpit-page .dashboard-action-head {
    align-items: center;
    display: grid;
    gap: 14px;
    grid-template-columns: 96px 1fr;
    margin-bottom: 12px;
}

.dashboard-cockpit-page .dashboard-action-icon {
    align-items: center;
    display: flex;
    justify-content: center;
    gap: 13px;
    margin-bottom: 0;
    margin-right: 0;
}

.dashboard-cockpit-page .dashboard-action-icon-image {
    height: 92px;
    object-fit: contain;
    width: 92px;
}

.dashboard-cockpit-page .dashboard-action-copy {
    text-align: center;
}

.dashboard-cockpit-page .dashboard-action-title {
    color: #1f1f1f;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
    display: block;
    margin: 0;
}

.dashboard-cockpit-page .dashboard-action-text {
    color: #555555;
    font-size: 12px;
    line-height: 1.45;
    margin: 6px auto 0;
    min-height: 0;
}

.dashboard-cockpit-page .dashboard-action-buttons {
    gap: 8px;
    justify-content: center;
    margin-bottom: 12px;
}

.dashboard-cockpit-page .dashboard-action-buttons .mini-button {
    font-size: 10px;
    padding: 7px 9px;
}

.dashboard-card-kpis {
    align-items: center;
    background: linear-gradient(135deg, #eef7f8 0%, #ffffff 100%);
    border: 1px solid #d8edef;
    border-radius: 8px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.55);
    display: flex;
    gap: 0;
    justify-content: center;
    margin-top: 4px;
    min-height: 32px;
    overflow: hidden;
    padding: 7px 10px;
    white-space: nowrap;
}

.dashboard-card-kpi {
    align-items: baseline;
    color: #2f6f73;
    display: inline-flex;
    gap: 4px;
    font-weight: 800;
    line-height: 1;
    min-width: 0;
    padding: 0 10px;
    text-align: center;
}

.dashboard-card-kpi + .dashboard-card-kpi {
    border-left: 1px solid #cbe5e7;
}

.dashboard-card-kpi strong {
    color: #2f6f3d;
    display: inline;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 0;
}

.dashboard-card-kpi span {
    color: #557477;
    display: inline;
    font-size: 10px;
    line-height: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dashboard-reco-highlight {
    background: #fffdf7;
    border-color: #ead59e;
    border-left-color: #e0b45c;
}

.dashboard-options-box {
    background: #f8fbfc;
}

@keyframes dashboardTickerScroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

.dashboard-kpi-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.sa-menu-search {
    display: flex;
    align-items: center;
    gap: 6px;
}

.sa-menu-search input {
    width: 200px;
    border: 1px solid #dddddd;
    border-radius: 5px;
    padding: 8px 14px;
    font-size: 9px;
    background: #f8fbfb;
    margin-left:10px;
}

.sa-menu-search input:hover {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 2px rgba(97,166,171,0.15);
}

.sa-menu-search input:focus {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 2px rgba(97,166,171,0.15);
}

.sa-menu-search-btn {
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 50%;
    background: #EFEFEF;
    color: #ffffff;
    cursor: pointer;
    font-size: 14px;
    transition: 0.2s;
}

.sa-menu-search-btn:hover {
    background: ;
    border-color: #61A6AB;
    box-shadow: 0 0 0 2px rgba(97,166,171,0.15);
}

.dashboard-trust-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 34px;
}

.dashboard-zero-margin-banner {
    display: flex;
    align-items: center;
    gap: 20px;
    background: linear-gradient(135deg, #EAF7F8 0%, #ffffff 100%);
    border: 2px solid #61A6AB;
    border-radius: 18px;
    padding: 22px 26px;
    box-shadow: 0 10px 24px rgba(97,166,171,0.12);
}

.dashboard-privacy-banner {
    background: linear-gradient(135deg, #F4F8EF 0%, #ffffff 100%);
    border-color: #9ed5af;
}

.dashboard-zero-margin-badge {
    flex-shrink: 0;
    background: #61A6AB;
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.5px;
    padding: 16px 18px;
    border-radius: 14px;
    box-shadow: 0 6px 16px rgba(97,166,171,0.25);
}

.dashboard-zero-margin-content {
    flex: 1;
}

.dashboard-zero-margin-title {
    font-size: 16px;
    font-weight: 800;
    color: #2f6f73;
    margin-bottom: 6px;
    line-height: 1.3;
}

.dashboard-zero-margin-text {
    font-size: 13px;
    line-height: 1.6;
    color: #4d4d4d;
}

.dashboard-zero-margin-banner {
    text-decoration: none;
    cursor: pointer;
    transition: all .18s ease;
}

.dashboard-zero-margin-banner:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(97,166,171,0.18);
    border-color: #4f8d91;
}

.dashboard-zero-margin-banner:hover .dashboard-zero-margin-badge {
    background: #4f8d91;
}

.dashboard-zero-margin-banner:hover .dashboard-zero-margin-title {
    color: #24595d;
}

@media (max-width: 760px) {
    .dashboard-trust-grid {
        grid-template-columns: 1fr;
    }
}

.dashboard-landing-page .dashboard-trust-grid {
    margin-bottom: 26px;
}

.dashboard-landing-page .dashboard-zero-margin-banner {
    border-width: 1px;
    border-radius: 12px;
    padding: 18px 20px;
}

.dashboard-landing-page .dashboard-zero-margin-badge {
    border-radius: 10px;
    font-size: 12px;
    padding: 12px 14px;
}

.dashboard-landing-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.dashboard-landing-actions .dashboard-action-card {
    border-radius: 12px;
    min-height: 220px;
    padding: 18px;
}

.dashboard-landing-actions .dashboard-action-icon {
    display: flex;
    align-items: center;
    min-height: 56px;
}

.dashboard-landing-actions .dashboard-action-icon-image {
    width: 56px;
    height: 56px;
}

.dashboard-landing-actions .dashboard-action-title {
    color: #2f6f73;
    font-size: 15px;
    font-weight: 800;
}

.dashboard-landing-actions .dashboard-action-text {
    color: #4f5f61;
    font-size: 12px;
    line-height: 1.55;
    min-height: 58px;
}

.dashboard-landing-actions .dashboard-action-buttons {
    justify-content: flex-start;
    flex-wrap: wrap;
}

.dashboard-landing-actions .dashboard-action-buttons .mini-button {
    font-size: 10px;
    padding: 7px 9px;
}

.dashboard-landing-split {
    display: grid;
    grid-template-columns: 0.9fr 1.35fr;
    gap: 18px;
    margin-bottom: 42px;
}

.dashboard-landing-split .process-box {
    margin-bottom: 0;
}

.dashboard-todo-box {
    background: #fbfdfd;
}

.dashboard-todo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.dashboard-todo-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 72px;
    padding: 14px;
    background: #ffffff;
    border: 1px solid #dcebec;
    border-radius: 10px;
    color: inherit;
    text-decoration: none;
    transition: all .16s ease;
}

.dashboard-todo-card:hover {
    transform: translateY(-1px);
    border-color: #61A6AB;
    box-shadow: 0 8px 18px rgba(97,166,171,0.16);
}

.dashboard-todo-card span {
    color: #4f5f61;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.dashboard-todo-card strong {
    color: #2f6f73;
    font-size: 26px;
    line-height: 1;
}

.dashboard-reco-box-featured {
    background: linear-gradient(135deg, #fffaf0 0%, #ffffff 62%);
    border-left-color: #e0b45c;
}

.dashboard-reco-grid-featured {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dashboard-reco-box-featured .dashboard-reco-card {
    border-color: #ead7ac;
    background: rgba(255,255,255,0.92);
}

.dashboard-reco-box-featured .dashboard-reco-cta {
    color: #87611d;
}

.dashboard-store-hero {
    background: linear-gradient(135deg, #EAF4F5 0%, #f8fbfb 55%, #ffffff 100%);
    border: 1px solid #CFE8EA;
    border-left: 5px solid #61A6AB;
    border-radius: 14px;
    box-shadow: 0 8px 20px rgba(97,166,171,0.10);
}

.dashboard-landing-page .dashboard-kpi-grid-4 {
    gap: 12px;
}

.dashboard-landing-page .dashboard-kpi-card {
    border-radius: 10px;
    min-height: 86px;
}

@media (max-width: 1050px) {
    .dashboard-landing-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-landing-split {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .dashboard-landing-actions,
    .dashboard-todo-grid,
    .dashboard-reco-grid-featured,
    .dashboard-landing-page .dashboard-kpi-grid-4 {
        grid-template-columns: 1fr;
    }
}

.sa-menu-notification-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.sa-menu-notification-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #3fa58f;
    color: #ffffff;
    font-size: 10px;
    font-weight: bold;
    line-height: 1;
    box-shadow: 0 3px 8px rgba(63,165,143,0.28);
}

.notification-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 18px;
    margin-bottom: 18px;
}

.notification-filter-form {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.notification-filter-form label {
    font-size: 12px;
    font-weight: 800;
    color: #5aa7ad;
}

.notification-filter-form select {
    min-width: 230px;
    border: 1px solid #dddddd;
    border-radius: 99px;
    padding: 8px 12px;
    font-size: 12px;
    background: #ffffff;
    color: #555555;
}

.notification-top-action {
    text-align: right;
}

.notification-list {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.notification-card {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    background: #ffffff;
    border: 1px solid #dddddd;
    border-radius: 10px;
    padding: 16px;
    transition: all 0.15s ease;
}

.notification-card.unread {
    border-left: 5px solid #61A6AB;
    background: #f8fbfb;
    box-shadow: 0 4px 12px rgba(97,166,171,0.12);
}

.notification-card.read {
    opacity: 0.72;
}

.notification-card:hover {
    border-color: #61A6AB;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

.notification-card-main {
    display: flex;
    gap: 12px;
    flex: 1;
}

.notification-dot-zone {
    width: 16px;
    padding-top: 4px;
}

.notification-dot {
    display: block;
    width: 10px;
    height: 10px;
    background: #61A6AB;
    border-radius: 50%;
}

.notification-content {
    flex: 1;
}

.notification-title-row {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
}

.notification-title {
    font-size: 14px;
    font-weight: bold;
    color: #222222;
}

.notification-date {
    color: #888888;
    font-size: 11px;
    white-space: nowrap;
}

.notification-message {
    margin-top: 8px;
    color: #555555;
    font-size: 12px;
    line-height: 1.6;
}

.notification-highlight {
    color: #2f3839;
    font-weight: 800;
}

.notification-highlight-pill {
    display: inline-block;
    color: #2f6f73;
    background: #EAF4F5;
    border: 1px solid #CFE8EA;
    border-radius: 999px;
    padding: 1px 7px;
    font-weight: 800;
    line-height: 1.35;
}

.notification-detail-list {
    margin: 4px 0 0 18px;
    padding: 0;
}

.notification-detail-list li {
    margin: 2px 0;
}

/* =========================
   PILOTAGE D'ACTIVITÉ
   ========================= */

.suivi-activite-page .process-box {
    border-radius: 12px;
}

.suivi-activite-overview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 24px 26px;
    border-color: #cfe5e7;
    background: linear-gradient(120deg, #f1f9fa 0%, #ffffff 62%, #fff9ed 100%);
    box-shadow: 0 10px 28px rgba(56, 94, 98, 0.08);
}

.suivi-activite-overview-copy {
    max-width: 590px;
}

.suivi-activite-eyebrow {
    display: inline-block;
    margin-bottom: 7px;
    color: #4f9297;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.suivi-activite-overview-title {
    margin-bottom: 7px;
    color: #243c3f;
    font-size: 23px;
    font-weight: 800;
    line-height: 1.2;
}

.suivi-activite-overview-text {
    color: #637477;
    font-size: 13px;
    line-height: 1.55;
}

.suivi-activite-overview-status {
    flex: 0 0 190px;
    padding: 16px 18px;
    border: 1px solid #f0d7a0;
    border-radius: 10px;
    background: rgba(255, 250, 238, 0.94);
    text-align: center;
}

.suivi-activite-overview-status.is-clear {
    border-color: #bfe3d2;
    background: #f0faf5;
}

.suivi-activite-overview-status strong,
.suivi-activite-overview-status span {
    display: block;
}

.suivi-activite-overview-status strong {
    margin-bottom: 3px;
    color: #b77b18;
    font-size: 28px;
    line-height: 1;
}

.suivi-activite-overview-status.is-clear strong {
    color: #328263;
}

.suivi-activite-overview-status span {
    color: #655638;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
}

.suivi-activite-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.suivi-activite-section-heading .process-title {
    margin-bottom: 4px;
}

.suivi-activite-section-help {
    color: #748184;
    font-size: 12px;
    line-height: 1.45;
}

.suivi-activite-section-count {
    padding: 6px 10px;
    border: 1px solid #d8e8e9;
    border-radius: 999px;
    background: #f6fafb;
    color: #527478;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.suivi-activite-kpi-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.suivi-activite-kpi-card {
    position: relative;
    min-width: 0;
    min-height: 138px;
    padding: 15px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    border: 1px solid #dce9ea;
    border-top: 3px solid #61a6ab;
    border-radius: 10px;
    background: #ffffff;
    color: inherit;
    text-decoration: none;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.suivi-activite-kpi-card.is-clear {
    border-top-color: #a9c9bc;
    background: #fbfdfc;
}

.suivi-activite-kpi-card:hover,
.suivi-activite-kpi-card:focus-visible {
    border-color: #87bfc3;
    box-shadow: 0 10px 22px rgba(65, 109, 113, 0.13);
    transform: translateY(-2px);
    outline: none;
}

.suivi-activite-kpi-index {
    margin-bottom: 12px;
    color: #99aaac;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.suivi-activite-kpi-label {
    min-height: 31px;
    color: #385357;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
}

.suivi-activite-kpi-card strong {
    margin-top: auto;
    color: #2e777c;
    font-size: 25px;
    line-height: 1;
}

.suivi-activite-kpi-card.is-clear strong {
    color: #5d8174;
}

.suivi-activite-kpi-status {
    margin-top: 5px;
    color: #bd7a17;
    font-size: 10px;
    font-weight: 800;
}

.suivi-activite-kpi-card.is-clear .suivi-activite-kpi-status {
    color: #4d876f;
}

.suivi-activite-action-list {
    display: grid;
    gap: 12px;
}

.suivi-activite-action-card {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    padding: 16px 18px;
    border: 1px solid #dbe7e8;
    border-left: 4px solid #61a6ab;
    border-radius: 10px;
    background: #ffffff;
}

.suivi-activite-action-card.is-clear {
    border-left-color: #9fc6b5;
    background: #fbfdfc;
}

.suivi-activite-action-step {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #eaf5f6;
    color: #3e858a;
    font-size: 12px;
    font-weight: 900;
}

.suivi-activite-action-card.is-clear .suivi-activite-action-step {
    background: #edf7f1;
    color: #4e816d;
}

.suivi-activite-action-copy {
    min-width: 0;
}

.suivi-activite-action-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 5px;
}

.suivi-activite-action-title {
    color: #263e41;
    font-size: 14px;
    font-weight: 800;
}

.suivi-activite-action-state {
    padding: 3px 7px;
    border-radius: 999px;
    background: #fff4df;
    color: #9d6814;
    font-size: 9px;
    font-weight: 900;
    white-space: nowrap;
    text-transform: uppercase;
}

.suivi-activite-action-card.is-clear .suivi-activite-action-state {
    background: #eaf7f0;
    color: #39765d;
}

.suivi-activite-action-description {
    color: #6b787a;
    font-size: 12px;
    line-height: 1.45;
}

.suivi-activite-action-total {
    margin-top: 7px;
    color: #607376;
    font-size: 11px;
}

.suivi-activite-action-total strong {
    color: #2f7479;
    font-size: 13px;
}

.suivi-activite-action-cta {
    min-width: 165px;
    text-align: right;
}

.suivi-activite-action-cta .mini-button {
    min-width: 155px;
    box-sizing: border-box;
}

.suivi-activite-action-cta .mini-button span {
    margin-left: 5px;
}

.notification-status-badge {
    display: inline-block;
    color: #2f6f73;
    background: #EAF4F5;
    border-radius: 999px;
    padding: 2px 9px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
    vertical-align: baseline;
    border: 1px solid #CFE8EA;
}

.notification-status-badge.study {
    color: #555555;
    background: #f1f2f3;
    border-color: #dedede;
}

.notification-status-badge.reflexion {
    color: #8a5a00;
    background: #fff4df;
    border-color: #f3d79d;
}

.notification-status-badge.ok {
    color: #24724d;
    background: #e7f6ee;
    border-color: #bde5ce;
}

.notification-status-badge.ko {
    color: #9b2f2f;
    background: #fdecec;
    border-color: #f4c4c4;
}

.notification-meta {
    margin-top: 10px;
    display: inline-block;
    background: #EAF4F5;
    color: #2f6f73;
    border: 1px solid #CFE8EA;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 10px;
    font-weight: bold;
}

.sa-menu-notification-badge[hidden] {
    display: none;
}

.notification-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.notification-actions form {
    margin: 0;
}

.notification-actions button {
    border: none;
    cursor: pointer;
}

.notification-empty {
    text-align: center;
}

.sa-menu-notification-icon-only {
    position: relative;
    width: 34px;
    height: 34px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sa-menu-notification-icon-only img {
    width: 25px;
    height: 25px;
    object-fit: contain;
    display: block;
}

.sa-menu-notification-icon-only .sa-menu-notification-badge {
    position: absolute;
    top: -5px;
    right: -7px;
}

.sa-menu-store-link {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sa-menu-store-icon {
    width: 30px;
    height: 30px;
    object-fit: contain;
    display: block;
    margin-left:10px;
}

.public-menu-v2 .sa-menu-link .sa-menu-commercial-apports-icon,
.public-menu-v2 .sa-menu-link .sa-menu-commercial-factures-icon {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    max-width: none;
    margin-left: 0;
}

.dashboard-action-icon {
    display: flex;
    align-items: center;
    gap: 0px;
}

.dashboard-action-icon-image {
    width: 55px;
    height: 55px;
    object-fit: contain;
    flex-shrink: 0;
    display: block;
}

.dashboard-action-icon {
    display: flex;
    align-items: center;
    gap: 0px;
    margin-bottom: 18px;
}

.dashboard-action-icon-image {
    width: 55px;
    height: 55px;
    object-fit: contain;
    display: block;
    flex-shrink: 0;
}

.dashboard-action-title {
    font-weight: bold;
    color: #2f6f73;
    margin-bottom: 6px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    display: flex;
    align-items: center;
    margin-top: 6px;
}

.recherche-filter-box {
    background: #f8fbfb;
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    border-radius: 10px;
    padding: 18px;
    margin-bottom: 22px;
}

.recherche-main-search {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
}

.recherche-main-search input {
    flex: 1;
    border: 1px solid #dddddd;
    border-radius: 8px;
    padding: 12px;
    font-size: 13px;
}

.recherche-advanced-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}

.recherche-tabs {
    display: flex;
    gap: 7px;
    margin-bottom: 24px;
    flex-wrap: nowrap;
    padding: 7px;
    background: linear-gradient(135deg, #f8fbfb 0%, #f1f7f7 100%);
    border: 1px solid #d7e8e9;
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(47, 111, 115, 0.07);
}

.recherche-tabs .recherche-tab {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.88);
    color: #52666a;
    border: 1px solid transparent;
    border-radius: 11px;
    padding: 10px 12px 10px 14px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    transition: transform 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease, border-color 0.16s ease;
}

.recherche-tabs .recherche-tab.has-results {
    background: #e5f3f4;
    color: #285f63;
    border-color: #b9dcde;
}

.recherche-tabs .recherche-tab.no-results {
    color: #7b898c;
}

.recherche-tabs .recherche-tab:hover {
    transform: translateY(-1px);
    color: #285f63;
    background: #eef8f8;
    border-color: #8fc4c7;
    box-shadow: 0 6px 14px rgba(47, 111, 115, 0.12);
}

.recherche-tabs .recherche-tab.active {
    color: #ffffff;
    background: linear-gradient(135deg, #61a6ab 0%, #438d92 100%);
    border-color: #3f858a;
    box-shadow: 0 7px 16px rgba(47, 111, 115, 0.24);
}

.recherche-tab-label {
    min-width: 0;
}

.recherche-tab-count {
    min-width: 28px;
    padding: 4px 8px;
    border: 1px solid #d5e5e6;
    border-radius: 999px;
    background: #ffffff;
    color: #52666a;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    box-shadow: 0 2px 7px rgba(47, 111, 115, 0.08);
}

.recherche-tab.has-results .recherche-tab-count {
    color: #2f6f73;
    border-color: #9fcdd0;
}

.recherche-tab.active .recherche-tab-count {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.48);
    box-shadow: none;
}

.recherche-results {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.recherche-result-card {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    background: #ffffff;
    border: 1px solid #dddddd;
    border-left: 4px solid #61A6AB;
    border-radius: 10px;
    padding: 16px;
    text-decoration: none;
    color: inherit;
    transition: all 0.15s ease;
}

.recherche-result-card:hover {
    background: #f8fbfb;
    border-color: #61A6AB;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
    transform: translateY(-1px);
}

.recherche-result-main {
    flex: 1;
}

.recherche-result-type {
    display: inline-block;
    background: #EAF4F5;
    color: #2f6f73;
    border: 1px solid #CFE8EA;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 10px;
    font-weight: bold;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.recherche-result-title {
    font-size: 15px;
    font-weight: bold;
    color: #222222;
    margin-bottom: 5px;
}

.recherche-result-subtitle {
    color: #555555;
    font-size: 12px;
    margin-bottom: 10px;
}

.recherche-result-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.recherche-result-meta span {
    background: #f5f7f8;
    border: 1px solid #eeeeee;
    border-radius: 999px;
    padding: 4px 8px;
    color: #666666;
    font-size: 10px;
    font-weight: bold;
}

.recherche-result-side {
    min-width: 120px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    gap: 10px;
}

.recherche-result-cta {
    color: #2f6f73;
    font-weight: bold;
    font-size: 12px;
}

.recherche-stat-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.recherche-stat-badge-locked {
    cursor: pointer;
}

.recherche-stat-badge .mission-stat-locked-value {
    line-height: 1;
}

.mission-stat-unlock-inline {
    color: #2f7f88;
    font-weight: 800;
}

.recherche-results-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
    padding:0 2px;
}

.recherche-results-header-left{
    flex:1;
    font-size:15px;
    color:#1c1c1c;
}

.recherche-results-header-center{
    display:flex;
    justify-content:center;
    flex:1;
}

.recherche-results-header-right{
    display:flex;
    justify-content:flex-end;
    flex:1;
}

.recherche-pagination-top{
    margin:0;
}

.recherche-pagination-top span{
    min-width:110px;
    text-align:center;
}

.recherche-form-grid{
    display:flex;
    gap:20px;
    align-items:flex-end;
}

.recherche-field-search{
    flex:1;
}

.recherche-field-sort{
    width:240px;
    flex-shrink:0;
}

.recherche-field-search input{
    width:490px;
}

.recherche-link-advanced-wrapper{
    margin-top:16px;
    margin-bottom:22px;
}

.recherche-link-advanced{
    display:flex;
    align-items:center;
    gap:10px;
    padding:14px 18px;
    border-radius:12px;
    background:#EDF9FA;
    border:1px solid #CBEAEC;
    color:#3F959B;
    font-weight:600;
    text-decoration:none;
    transition:all .15s ease;
}

.recherche-link-advanced:hover{
    background:#DDF4F6;
    border-color:#61A6AB;
    transform:translateY(-1px);
}

.recherche-link-advanced span{
    margin-left:auto;
    font-size:18px;
}

.recherche-results-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:28px;
    margin-bottom:26px;
}

.recherche-results-toolbar-left{
    display:flex;
    align-items:center;
    gap:12px;
}

.recherche-results-toolbar-center{
    display:flex;
    justify-content:center;
    flex:1;
}

.recherche-results-toolbar-right{
    display:flex;
    align-items:center;
    gap:14px;
}

.recherche-results-title{
    font-size:22px;
    font-weight:700;
    color:#1F2D3D;
}

.recherche-results-count{
    background:#F3F5F7;
    border-radius:999px;
    padding:6px 12px;
    font-size:13px;
    font-weight:600;
    color:#5F6B7A;
}

.recherche-page-count{
    font-size:13px;
    font-weight:600;
    color:#7A7A7A;
}

.recherche-results{
    margin-top:10px;
}

.recherche-result-card-group-a {
    border-left-color: #A77BCA !important;
}

.recherche-result-card-group-b {
    border-left-color: #61A6AB !important;
}

/* =========================
   DASHBOARD APP STORE - MVP
   ========================= */

.appstore-top-links {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-bottom: 18px;
}

.appstore-top-links .submit-button {
    align-items: center;
    display: inline-flex;
    justify-content: center;
}

.appstore-filter-box {
    margin-bottom: 18px;
}

.appstore-filter-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    align-items: end;
}

.appstore-filter-form .form-field {
    margin-bottom: 0;
}

.appstore-filter-form .appstore-search-field {
    grid-column: 1 / -1;
}

.appstore-filter-form .appstore-search-field input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.appstore-filter-form select {
    width: 100%;
}

.appstore-filter-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 4px;
}

.appstore-filter-actions .submit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 9px 16px;
    box-sizing: border-box;
    border: 0;
    font-family: Arial, sans-serif;
    line-height: 1.2;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(60, 112, 116, 0.14);
}

.appstore-filter-actions .submit-button.secondary {
    background: #dddddd;
    border: 0;
    color: #333333;
    box-shadow: none;
}

.appstore-filter-actions .submit-button.secondary:hover {
    background: #cccccc;
    color: #333333;
}

.appstore-filter-actions .submit-button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(97, 166, 171, 0.20), 0 4px 10px rgba(60, 112, 116, 0.14);
}

#featureGateModal .appstore-modal-actions .submit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 9px 16px;
    box-sizing: border-box;
    border: 0;
    font-family: Arial, sans-serif;
    line-height: 1.2;
    box-shadow: 0 4px 10px rgba(60, 112, 116, 0.14);
}

#featureGateModal .appstore-modal-actions .submit-button.secondary {
    background: #dddddd;
    border: 0;
    color: #333333;
    box-shadow: none;
}

#featureGateModal .appstore-modal-actions .submit-button.secondary:hover {
    background: #cccccc;
    color: #333333;
}

.appstore-feature-grid {
    grid-template-columns: 1fr !important;
    gap: 56px;
}

.studio-store-installations-page .appstore-feature-card {
    border-left-width: 1px;
}

.studio-store-installations-page .appstore-feature-card.active {
    border: 1px solid #9bcfc2;
}

.studio-store-installations-page .appstore-feature-card.active:hover {
    border-color: #7dbdac;
}

.appstore-results-toolbar {
    align-items: center;
    margin-bottom: 18px;
}

.lst-admin-missions-box .appstore-results-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.lst-admin-missions-box .appstore-results-toolbar .process-title {
    margin: 0;
}

.lst-admin-missions-box .appstore-results-controls .result-limit-form {
    display: flex;
    align-items: center;
    gap: 10px;
}

.appstore-results-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin: 0;
}

.appstore-results-controls select {
    border: 1px solid #dddddd;
    border-radius: 99px;
    background: #ffffff;
    color: #333333;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 700;
}

.appstore-feature-group  {
    border: 1px solid #cfe7e9;
    border-left: 5px solid #61A6AB;
    border-radius: 8px;
    background: #fffdf7;
    padding: 16px;
}

.appstore-feature-group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    color: #2f6f73;
    font-size: 14px;
    font-weight: 900;
}

.appstore-feature-choice-group .appstore-feature-group-head {
    margin-bottom: 8px;
}

.appstore-feature-group-title-row {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.appstore-feature-group-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border: 1px solid #dfeeee;
    border-radius: 8px;
    background: #ffffff;
    overflow: hidden;
}

.appstore-feature-group-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.appstore-feature-group-category {
    margin-top: 4px;
    color: #6f7a7d;
    font-size: 11px;
    font-weight: 800;
}

.appstore-feature-group-head em {
    border: 1px solid #c7e6e2;
    border-radius: 999px;
    background: #ffffff;
    color: #6f7a7d;
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
    padding: 4px 8px;
    text-transform: uppercase;
}

.appstore-feature-group-description {
    max-width: 980px;
    margin: 0 0 14px;
    color: #3f4b4f;
    font-size: 13px;
    line-height: 1.45;
}

.appstore-feature-group-public-status {
    width: fit-content;
    margin: 0 0 12px;
    border: 1px solid #dddddd;
    border-radius: 999px;
    background: #ffffff;
    color: #666666;
    font-size: 11px;
    font-weight: 800;
    padding: 5px 10px;
}

.appstore-feature-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    align-items: stretch;
}

.appstore-feature-choice-count-1 {
    grid-template-columns: minmax(0, 1fr);
    max-width: 360px;
}

.appstore-feature-choice-count-2,
.appstore-feature-choice-count-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 720px;
}

.appstore-feature-choice {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 88px;
    border: 1px solid #d7e8ea;
    border-radius: 8px;
    background: #ffffff;
    padding: 10px;
    color: inherit;
    text-decoration: none;
    transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.appstore-feature-choice:hover {
    border-color: #61A6AB;
    background: #fbffff;
    box-shadow: 0 10px 24px rgba(47,111,115,0.08);
    transform: translateY(-1px);
}

.appstore-feature-choice.active {
    border-color: #9bcfc2;
    border-left: 4px solid #4da77a;
    background: linear-gradient(135deg, #f1faf7 0%, #eef8f8 100%);
    box-shadow: 0 8px 22px rgba(47,111,115,0.10), inset 0 0 0 1px rgba(97,166,171,0.12);
}

.appstore-feature-choice.locked {
    background: #fafafa;
}

.appstore-feature-choice-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border: 1px solid #dfeeee;
    border-radius: 8px;
    background: #f7fbfb;
    overflow: hidden;
    color: #2f6f73;
    font-size: 24px;
    font-weight: 900;
}

.appstore-feature-choice-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.appstore-feature-choice-main {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 7px;
    min-width: 0;
}

.appstore-feature-choice-name {
    flex: 1 0 100%;
    color: #1f2d31;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.25;
}

.appstore-feature-choice .feature-price-badge,
.appstore-feature-choice .appstore-feature-status {
    margin: 0;
    font-size: 10px;
}

.appstore-feature-choice .feature-requirement {
    flex: 1 0 100%;
    margin: 0;
    font-size: 10px;
}

.appstore-feature-group-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 10px;
    align-items: stretch;
}

.appstore-alternative-badge {
    border: 1px solid #d8edef;
    border-radius: 999px;
    background: #ffffff;
    color: #2f6f73;
    font-size: 10px;
    font-weight: 900;
    padding: 5px 8px;
    white-space: nowrap;
}

.appstore-feature-group .appstore-feature-card {
    border-left-width: 1px;
    border-color: #d7e8ea;
    border-radius: 9px;
    padding: 12px;
    background: #ffffff;
    box-shadow: none;
    min-height: 0;
}

.appstore-feature-group .appstore-feature-card.active {
    border-color: #9bcfc2;
    border-left: 4px solid #4da77a;
    background: linear-gradient(135deg, #f1faf7 0%, #eef8f8 100%);
    box-shadow: 0 8px 22px rgba(47,111,115,0.10), inset 0 0 0 1px rgba(97,166,171,0.12);
}

.appstore-feature-group .appstore-feature-card-body {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 58px 1fr;
    gap: 10px;
    height: 100%;
}

.appstore-feature-group .appstore-feature-image,
.appstore-feature-group .appstore-feature-icon {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
    border-radius: 8px;
}

.appstore-feature-group .appstore-feature-content {
    display: grid;
    grid-template-rows: minmax(78px, auto) 30px minmax(48px, 1fr) auto;
    gap: 8px;
    min-height: 0;
}

.appstore-feature-group .feature-card-top {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(34px, auto) 24px 24px;
    gap: 6px;
    align-items: start;
}

.appstore-feature-group .appstore-feature-card .feature-title {
    font-size: 13px;
    line-height: 1.25;
}

.appstore-feature-group .feature-price-badge,
.appstore-feature-group .appstore-alternative-badge,
.appstore-feature-group .appstore-feature-status {
    align-self: start;
    width: fit-content;
    margin: 0;
    font-size: 10px;
}

.appstore-feature-group .feature-price-badge {
    order: 2;
    font-size: 11px;
}

.appstore-feature-group .appstore-alternative-badge {
    order: 1;
    background: #eaf7f8;
    border-color: #b9deda;
}

.appstore-feature-group .appstore-feature-status {
    align-self: start;
}

.appstore-feature-group .appstore-feature-card .feature-description {
    margin-top: 0;
    font-size: 11px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.appstore-feature-group .appstore-feature-card .feature-actions {
    margin-top: auto;
    padding-top: 0;
}

.appstore-feature-group .feature-category {
    font-size: 10px;
}

.appstore-feature-card {
    min-height: 0;
    position: relative;
}

.appstore-feature-card.active {
    border: 2px solid #61A6AB;
    border-left: 6px solid #3f936b;
    background: linear-gradient(135deg, #effbf5 0%, #e8f6f6 100%);
    box-shadow: 0 10px 28px rgba(47,111,115,0.16), inset 0 0 0 1px rgba(255,255,255,0.8);
}

.appstore-feature-card.active:hover {
    border-color: #4f9fa4;
    border-left-color: #3f936b;
    box-shadow: 0 15px 32px rgba(47,111,115,0.2), inset 0 0 0 1px rgba(255,255,255,0.9);
}

.appstore-feature-choice.active,
.appstore-feature-group .appstore-feature-card.active {
    border: 2px solid #61A6AB;
    border-left: 6px solid #3f936b;
    background: linear-gradient(135deg, #effbf5 0%, #e8f6f6 100%);
    box-shadow: 0 10px 28px rgba(47,111,115,0.16), inset 0 0 0 1px rgba(255,255,255,0.8);
}

.appstore-feature-choice.active:hover,
.appstore-feature-group .appstore-feature-card.active:hover {
    border-color: #4f9fa4;
    border-left-color: #3f936b;
    box-shadow: 0 15px 32px rgba(47,111,115,0.2), inset 0 0 0 1px rgba(255,255,255,0.9);
}

.appstore-feature-card-link {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.appstore-feature-card-body {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.appstore-feature-content {
    min-width: 0;
}

.appstore-feature-card .feature-card-top {
    align-items: center;
}

.appstore-feature-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.appstore-feature-image,
.appstore-feature-icon {
    width: 116px;
    height: 116px;
    flex: 0 0 116px;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    background: #f7fbfb;
    border: 1px solid #dfeeee;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.75), 0 12px 28px rgba(97,166,171,0.10);
    transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}

.appstore-feature-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.01);
    transition: transform 0.28s ease;
}

.appstore-feature-icon {
    font-size: 34px;
}

.appstore-feature-card:hover .appstore-feature-image,
.appstore-feature-card:hover .appstore-feature-icon {
    transform: translateY(-2px);
    filter: saturate(1.05);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.9), 0 18px 34px rgba(97,166,171,0.18);
}

.appstore-feature-card:hover .appstore-feature-image img {
    transform: scale(1.06);
}

.appstore-feature-card .feature-title {
    font-size: 16px;
}

.appstore-feature-card .feature-description {
    min-height: 0;
    margin-left: 0;
}

.appstore-feature-card .feature-actions {
    margin-left: 0;
    align-items: center;
}

.appstore-feature-card .feature-category {
    display: flex;
    align-items: center;
    gap: 4px;
    align-self: flex-start;
}

.appstore-feature-card .feature-category-label,
.appstore-feature-card .feature-category-name {
    display: inline;
}

.studio-store-installation-buttons {
    justify-content: center;
    margin-top: 18px;
}

.studio-store-installation-button {
    background: #61A6AB;
    color: #ffffff;
    min-width: 150px;
    text-align: center;
}

.studio-store-installation-button:hover {
    background: #4f9297;
}

.appstore-feature-status {
    width: fit-content;
    margin: 12px 0 0 0;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 11px;
    font-weight: 700;
    border: 1px solid #dddddd;
    background: #f5f7f8;
    color: #555555;
}

.appstore-feature-status.active {
    background: #d9f3e4;
    border-color: #4da77a;
    color: #24623a;
    box-shadow: 0 3px 9px rgba(58,145,91,0.18);
    letter-spacing: .01em;
    font-weight: 800;
}

.appstore-feature-status.cancelled {
    background: #fff7e8;
    border-color: #e0b45c;
    color: #8a5a00;
}

.appstore-feature-status.inactive {
    background: #f7f9f9;
    border-color: #dfe7e7;
    color: #66777a;
}

.feature-detail-header-active {
    background: #e9f7ef;
    border-bottom-color: #3ba65d;
}

.feature-detail-header-active .page-title {
    color: #2f6f3d;
}

.feature-detail-header-inactive {
    background: #fdecec;
    border-bottom-color: #d94141;
}

.feature-detail-header-inactive .page-title,
.feature-detail-header-inactive .page-subtitle {
    color: #b43232;
}

.feature-detail-header-status {
    display: inline-block;
    margin-top: 12px;
    padding: 6px 14px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #3ba65d;
    color: #2f6f3d;
    font-size: 12px;
    font-weight: 700;
}

.feature-detail-header-status.cancelled {
    border-color: #e0b45c;
    color: #8a5a00;
}

.feature-detail-header-pending {
    background: #fff8e8;
    border-bottom-color: #d89b2b;
}

.feature-detail-header-pending .page-title {
    color: #7a540d;
}

.feature-detail-header-status.pending {
    border-color: #d89b2b;
    color: #7a540d;
}

.feature-checkout-pending {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px;
    border: 1px solid #e7c985;
    border-radius: 6px;
    background: #fffaf0;
    color: #65470f;
}

.feature-checkout-pending strong {
    font-size: 13px;
}

.feature-checkout-pending span,
.feature-checkout-pending small {
    line-height: 1.5;
}

.feature-checkout-pending small {
    color: #80652f;
    font-weight: 700;
}

.feature-checkout-price-lock-note {
    margin-top: 10px;
    color: #667276;
    font-size: 11px;
    line-height: 1.5;
}

.feature-detail-header-status.inactive {
    border-color: #ef9a9a;
    color: #b43232;
}

.feature-subscribe-box-inactive {
    background: #fff8f8;
    border: 1px solid #efb1b1;
}

.feature-unavailable-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 8px 4px;
}

.feature-unavailable-title {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #ef9a9a;
    border-radius: 999px;
    background: #ffffff;
    color: #b43232;
    font-size: 12px;
    font-weight: 800;
    padding: 7px 13px;
}

.feature-unavailable-text {
    max-width: 280px;
    color: #8a4a4a;
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
}

.feature-detail-icon-preview {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #d6e8e9;
    background: #f7fbfb;
    box-shadow: 0 12px 28px rgba(97,166,171,0.12);
}

.feature-detail-icon-preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.feature-detail-range-box {
    margin: 22px 0 22px;
}

.feature-detail-range-box .appstore-feature-choice.current {
    box-shadow: inset 0 0 0 1px rgba(97,166,171,0.30), 0 0 0 2px rgba(97,166,171,0.10);
}

.feature-detail-current-badge {
    margin: 0;
    border: 1px solid #cfe7e9;
    border-radius: 999px;
    background: #ffffff;
    color: #2f6f73;
    font-size: 10px;
    font-weight: 800;
    padding: 5px 9px;
}

@media (max-width: 800px) {
    .appstore-feature-card-body {
        grid-template-columns: 1fr;
    }

    .appstore-feature-image,
    .appstore-feature-icon {
        width: 92px;
        height: 92px;
        flex-basis: 92px;
    }
}

/* =========================
   MISSION DETAIL - CONSULTANT PICKER
   ========================= */

.mission-consultant-picker {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mission-position-form-box .input-field {
    width: 100%;
    min-height: 42px;
    border: 1px solid #dddddd;
    border-radius: 8px;
    background: #ffffff;
    padding: 9px 12px;
    color: #333333;
    font-size: 12px;
    box-sizing: border-box;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.03);
}

.mission-position-form-box .input-field:focus {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 3px rgba(97,166,171,0.14);
}

.mission-consultant-selected {
    flex: 1;
    min-height: 54px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 9px 12px;
    border: 1px solid #dddddd;
    border-radius: 8px;
    background: #f8fbfb;
    color: #777777;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
}

.mission-consultant-selected.selected {
    align-items: flex-start;
    background: #EAF4F5;
    border-color: #61A6AB;
    color: #2f6f73;
    text-align: left;
}

.mission-consultant-selected strong {
    color: #1f2d3d;
    font-size: 13px;
}

.mission-consultant-selected span {
    display: block;
    margin-top: 4px;
    color: #2f6f73;
    font-size: 12px;
}

.mission-consultant-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(31, 45, 61, 0.42);
}

.mission-consultant-modal-overlay[hidden] {
    display: none;
}

.mission-consultant-modal {
    position: relative;
    width: min(1080px, 100%);
    height: min(88vh, 920px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #dfe6e8;
    border-radius: 10px;
    box-shadow: 0 24px 70px rgba(0,0,0,0.22);
    padding: 24px;
}

.mission-consultant-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    background: #f5f7f8;
    color: #555555;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.mission-consultant-modal-title {
    color: #2f6f73;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 6px;
}

.mission-consultant-modal-subtitle {
    color: #666666;
    font-size: 12px;
}

.mission-consultant-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 44px 18px 0;
}

.mission-consultant-modal-header > div {
    min-width: 0;
}

.mission-consultant-add-button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    box-sizing: border-box;
    border: 1px solid #4f9297;
    border-radius: 8px;
    background: linear-gradient(135deg, #61a6ab 0%, #4f9297 100%);
    color: #ffffff;
    padding: 9px 16px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: 0 7px 18px rgba(63, 127, 132, 0.28);
    transition: transform 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
}

.mission-consultant-add-button span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.36);
    color: #ffffff;
    font-size: 15px;
    line-height: 1;
}

.mission-consultant-add-button:hover,
.mission-consultant-add-button:focus-visible {
    border-color: #3f7f84;
    background: linear-gradient(135deg, #559ca1 0%, #3f7f84 100%);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(63, 127, 132, 0.36);
    outline: none;
}

.mission-consultant-filters {
    display: grid;
    grid-template-columns: 2fr 1.2fr 1fr;
    gap: 12px;
    margin-bottom: 18px;
}

.mission-consultant-toolbar {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 18px;
}

.mission-consultant-sort-field {
    width: auto;
}

.mission-consultant-sort-field select {
    width: auto;
    min-width: 176px;
    max-width: 230px;
}

.mission-consultant-results-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #61A6AB;
    font-weight: 700;
    margin-bottom: 10px;
}

.mission-consultant-limit {
    margin: 0;
}

.mission-consultant-results {
    display: grid;
    gap: 8px;
    align-content: start;
    overflow-x: hidden;
    overflow-y: auto;
    padding-right: 4px;
    flex: 1;
    min-height: 0;
}

.mission-consultant-result {
    display: grid;
    grid-template-columns: 1fr 1fr 1.8fr 0.7fr 0.7fr 46px;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    background: #ffffff;
    padding: 6px 12px;
    color: #333333;
    text-align: left;
    cursor: pointer;
    min-height: 48px;
    align-items: center;
    position: relative;
    overflow: visible;
}

.mission-consultant-result > span:not(.mission-consultant-contact-trigger):not(.company-consultant-contact-popover) {
    display: flex;
    align-items: center;
    align-self: stretch;
    height: auto;
    min-height: 34px;
    min-width: 0;
    line-height: 1.3;
}

.mission-consultant-result > span:nth-child(4),
.mission-consultant-result > span:nth-child(5) {
    justify-content: center;
    justify-self: stretch;
    text-align: center;
}

.mission-consultant-result:hover {
    background: #f8fbfb;
    border-color: #61A6AB;
}

.mission-consultant-result span:first-child,
.mission-consultant-result span:nth-child(2) {
    font-weight: 700;
    color: #222222;
}

.mission-consultant-result-head {
    background: #f5f7f8;
    border-color: #eeeeee;
    color: #666666;
    font-size: 11px;
    font-weight: 700;
    cursor: default;
}

.mission-consultant-result-head:hover {
    background: #f5f7f8;
    border-color: #eeeeee;
}

.mission-consultant-contact-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(97, 166, 171, 0.35);
    border-radius: 50%;
    background: linear-gradient(145deg, #f5fbfb 0%, #e8f4f5 100%);
    box-shadow: 0 4px 12px rgba(47, 111, 115, 0.1);
    cursor: help;
    transition: background 0.18s ease, box-shadow 0.18s ease;
}

.mission-consultant-contact-trigger:hover {
    background: linear-gradient(145deg, #72b5ba 0%, #51999e 100%);
    box-shadow: 0 7px 16px rgba(47, 111, 115, 0.24);
}

.mission-consultant-contact-icon {
    font-size: 15px;
    line-height: 1;
    transition: transform 0.18s ease;
}

.mission-consultant-contact-trigger:hover .mission-consultant-contact-icon {
    transform: scale(1.08);
}

.mission-consultant-contact-popover {
    display: none;
    position: absolute;
    z-index: 30;
    top: 50%;
    right: 54px;
    left: auto;
    width: min(720px, calc(100% - 24px));
    min-height: 58px;
    padding: 9px 12px;
    box-sizing: border-box;
    grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(0, 1fr)) minmax(150px, .9fr);
    gap: 10px;
    align-items: center;
    border: 1px solid rgba(97, 166, 171, 0.45);
    border-left: 4px solid #61a6ab;
    border-radius: 10px;
    background: linear-gradient(135deg, #ffffff 0%, #f1f9f9 100%);
    box-shadow: 0 12px 28px rgba(32, 69, 72, 0.2);
    transform: translateY(-50%);
    cursor: default;
    pointer-events: auto;
}

.mission-consultant-contact-trigger:hover .mission-consultant-contact-popover {
    display: grid;
}

.mission-consultant-contact-popover::after {
    content: "";
    position: absolute;
    top: 0;
    right: -10px;
    width: 10px;
    height: 100%;
}

.mission-consultant-result .mission-consultant-contact-item {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
    padding: 3px 8px;
    border-right: 1px solid rgba(97, 166, 171, 0.2);
    color: #333333;
    font-weight: 400;
}

.mission-consultant-result .mission-consultant-contact-item:last-child {
    border-right: 0;
}

.mission-consultant-result .mission-consultant-contact-label {
    color: #61a6ab;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.mission-consultant-result .mission-consultant-contact-value {
    overflow-wrap: anywhere;
    color: #244f52;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
}

.mission-consultant-contact-documents {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    padding: 3px 4px;
}

.mission-consultant-document-link {
    position: relative;
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(97, 166, 171, .35);
    border-radius: 9px;
    background: linear-gradient(145deg, #ffffff 0%, #e8f5f5 100%);
    box-shadow: 0 4px 12px rgba(47, 111, 115, .1);
    font-size: 15px;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.mission-consultant-document-link:hover,
.mission-consultant-document-link:focus-visible {
    border-color: #61a6ab;
    background: linear-gradient(145deg, #eefafa 0%, #d8eeee 100%);
    box-shadow: 0 7px 16px rgba(47, 111, 115, .2);
    transform: translateY(-1px);
}

.mission-consultant-document-link.is-disabled {
    filter: grayscale(1);
    opacity: .42;
    cursor: not-allowed;
}

.mission-consultant-document-tooltip {
    position: absolute;
    z-index: 40;
    right: 0;
    bottom: calc(100% + 8px);
    width: max-content;
    max-width: 220px;
    padding: 7px 9px;
    border: 1px solid #cfe2e3;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(32, 69, 72, .16);
    color: #406468;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.25;
    opacity: 0;
    pointer-events: none;
    transform: translateY(3px);
    transition: opacity .16s ease, transform .16s ease;
}

.mission-consultant-document-tooltip::after {
    position: absolute;
    right: 10px;
    bottom: -5px;
    width: 8px;
    height: 8px;
    border-right: 1px solid #cfe2e3;
    border-bottom: 1px solid #cfe2e3;
    background: #fff;
    content: "";
    transform: rotate(45deg);
}

.mission-consultant-document-link:hover .mission-consultant-document-tooltip,
.mission-consultant-document-link:focus-visible .mission-consultant-document-tooltip {
    opacity: 1;
    transform: translateY(0);
}

.mission-consultant-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 16px;
    color: #666666;
    font-size: 12px;
    font-weight: 700;
}

.mission-consultant-pagination button {
    border: 0;
    border-radius: 6px;
    background: #61A6AB;
    color: #ffffff;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.mission-consultant-pagination button:hover:not(:disabled) {
    background: #4f9297;
}

.mission-consultant-pagination button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

@media (max-width: 800px) {
    .mission-consultant-picker,
    .mission-consultant-filters,
    .mission-consultant-toolbar {
        flex-direction: column;
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .mission-consultant-result {
        grid-template-columns: 1fr;
    }

    .mission-consultant-result-head {
        display: none;
    }

    .mission-consultant-contact-trigger {
        justify-self: end;
    }

    .mission-consultant-contact-popover {
        right: 8px;
        width: calc(100% - 16px);
        grid-template-columns: 1fr;
    }

    .mission-consultant-contact-documents {
        justify-content: flex-start;
        padding-top: 8px;
    }

    .mission-consultant-result .mission-consultant-contact-item {
        border-right: 0;
        border-bottom: 1px solid rgba(97, 166, 171, 0.2);
    }

    .mission-consultant-result .mission-consultant-contact-item:last-child {
        border-bottom: 0;
    }

    .mission-consultant-modal-header {
        align-items: stretch;
        flex-direction: column;
    }

    .mission-consultant-add-button {
        align-self: flex-start;
    }
}

/* Appels à profils */
.appel-profile-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 12px;
}

.appel-profile-summary-box .appel-profile-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.appel-profile-kpi-grid > .dashboard-kpi-card:not(.appel-profile-matching-kpi) {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.appel-profile-note,
.appel-profile-hint {
    margin-top: 14px;
    color: #555555;
    font-size: 12px;
    line-height: 1.55;
}

.appel-profile-preview-box .dashboard-kpi-card strong,
.appel-profile-summary-box .dashboard-kpi-card strong {
    color: #2f6f73;
}

.appel-profile-matching-kpi {
    position: relative;
    overflow: hidden;
    background: linear-gradient(145deg, #ffffff 0%, #f5fbfb 100%);
}

.appel-profile-matching-kpi::after {
    content: "";
    position: absolute;
    width: 54px;
    height: 54px;
    top: -24px;
    right: -20px;
    border-radius: 50%;
    background: rgba(97, 166, 171, 0.12);
}

.appel-profile-matching-kpi-strong {
    border-left-color: #2f7d68;
}

.appel-profile-matching-kpi-useful {
    border-left-color: #61a6ab;
}

.appel-profile-kpi-company-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 11px;
    padding: 5px 9px;
    max-width: 100%;
    border: 1px solid #cfe4e5;
    border-radius: 999px;
    background: #ffffff;
    color: #48666a;
    font-size: 10px;
    line-height: 1.2;
}

.appel-profile-kpi-company-count span {
    display: inline;
    margin: 0;
    color: inherit;
    font-size: inherit;
}

.appel-profile-kpi-company-count b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 21px;
    height: 21px;
    padding: 0 6px;
    border-radius: 999px;
    background: #2f6f73;
    color: #ffffff;
    font-size: 10px;
}

.appel-profile-readonly-form-box {
    opacity: 0.62;
}

.appel-profile-readonly-form input,
.appel-profile-readonly-form select,
.appel-profile-readonly-form textarea {
    cursor: not-allowed;
    color: #777777;
    background: #f5f5f5;
}

.appel-profile-mission-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content auto;
    gap: 18px;
    align-items: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.appel-profile-mission-summary.is-requester-hidden {
    grid-template-columns: minmax(0, 1fr) auto;
}

.appel-profile-mission-summary > div {
    display: grid;
    gap: 5px;
}

.appel-profile-mission-box {
    padding-top: 22px;
}

.appel-profile-mission-primary {
    align-content: center;
}

.appel-profile-mission-summary .appel-profile-mission-title {
    color: #254f53;
    font-size: 19px;
    line-height: 1.3;
}

.appel-profile-mission-summary strong {
    color: #222222;
    font-size: 15px;
}

.appel-profile-mission-summary span {
    color: #666666;
    font-size: 12px;
}

.appel-profile-mission-info-grid {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.appel-profile-mission-summary .mini-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: start;
    min-height: 38px;
    height: auto;
    line-height: 1.2;
    padding: 0 18px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
    text-align: center;
}

.appel-profile-requester-card {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center;
    gap: 10px !important;
    min-width: 0;
    width: max-content;
    max-width: 420px;
    justify-self: end;
    box-sizing: border-box;
    padding: 9px 11px;
    border: 1px solid #d9eaeb;
    border-radius: 10px;
    background: linear-gradient(135deg, #f6fbfb 0%, #ffffff 100%);
}

.appel-profile-requester-visual {
    display: inline-flex;
    flex: 0 0 88px;
    width: 88px;
    height: 46px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #cce3e5;
    border-radius: 10px;
    background: #eaf6f6;
    color: #2f777c !important;
    font-size: 12px !important;
    font-weight: 900;
}

.appel-profile-requester-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 5px 6px;
    box-sizing: border-box;
    background: #ffffff;
}

.appel-profile-requester-visual.is-fallback {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 10px;
    background: #6877bd;
    color: #ffffff !important;
    font-size: 13px !important;
    line-height: 1;
    box-shadow: 0 4px 10px rgba(45, 82, 87, 0.14);
}

.appel-profile-requester-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.appel-profile-requester-copy small {
    color: #74888a;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.appel-profile-requester-copy strong {
    color: #2d5559;
    font-size: 12px;
    line-height: 1.3;
    white-space: normal;
}

.appel-profile-mission-view-button {
    align-self: center !important;
    justify-self: end;
}

.appel-profile-mission-summary > .appel-profile-mission-info-grid {
    gap: 12px;
}

.appel-profile-status-inline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 12px;
    padding: 7px 13px;
    border: 1px solid #d6ecef;
    border-radius: 99px;
    background: #f8fbfb;
    color: #2f6f73;
    font-size: 13px;
    font-weight: 800;
}

.appel-profile-header-badges {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

.appel-profile-header-context {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3px;
    max-width: min(720px, calc(100% - 30px));
    margin-top: 11px;
    padding: 7px 10px;
    box-sizing: border-box;
    border: 1px solid #ffd591;
    border-radius: 6px;
    background: #fff7e6;
    color: #5f3b00;
    font-size: 11px;
    line-height: 1.4;
    text-align: center;
}

.appel-profile-target-count-inline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 12px;
    padding: 6px 14px 6px 10px;
    border: 1px solid #84c7cc;
    border-radius: 99px;
    background: #e2f5f5;
    color: #2f6f73;
    box-shadow: 0 3px 10px rgba(75, 151, 157, 0.14);
    font-size: 12px;
    font-weight: 800;
}

.appel-profile-target-count-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: #ffffff;
    font-size: 14px;
    line-height: 1;
}

.appel-profile-target-count-inline strong {
    color: #225f64;
    font-size: 20px;
    font-weight: 900;
    line-height: 1;
}

.appel-profile-status-accepte {
    border-color: #4f9f62;
    background: #f6fff8;
    color: #2f6f3d;
}

.appel-profile-status-refuse {
    border-color: #d86a6a;
    background: #fff6f6;
    color: #a83232;
}

.appel-profile-refusal-banner {
    margin: 24px 0;
    padding: 19px 21px;
    border: 1px solid #e5a6a6;
    border-left: 5px solid #b83d3d;
    border-radius: 11px;
    background: linear-gradient(135deg, #fff3f3 0%, #fffafa 100%);
    box-shadow: 0 10px 24px rgba(142, 43, 43, 0.09);
}

.appel-profile-refusal-content {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.appel-profile-refusal-kicker {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    box-sizing: border-box;
    padding: 6px 10px;
    border-radius: 99px;
    background: #a83232;
    color: #ffffff;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.appel-profile-refusal-content h2 {
    margin: 1px 0 0;
    color: #8f2929;
    font-size: 17px;
    line-height: 1.35;
}

.appel-profile-refusal-content p {
    margin: 7px 0 0;
    color: #745050;
    font-size: 11px;
    line-height: 1.55;
}

.appel-profile-action-hero {
    margin-bottom: 20px;
}

.appel-profile-response-choice {
    margin: 36px 0 0;
    padding: 24px;
    border: 1px solid #b9dfe2;
    border-top: 5px solid #61a6ab;
    border-radius: 14px;
    background: linear-gradient(145deg, #f3fbfb 0%, #ffffff 54%, #fbf8ff 100%);
    box-shadow: 0 14px 34px rgba(43, 91, 96, 0.11);
}

.appel-profile-response-choice-head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 20px;
}

.appel-profile-response-choice-kicker {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    border-radius: 99px;
    background: #2f777c;
    color: #ffffff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.appel-profile-response-choice-head h2 {
    margin: 0;
    color: #254f53;
    font-size: 20px;
    line-height: 1.25;
}

.appel-profile-response-choice-head p {
    margin: 7px 0 0;
    color: #647b7e;
    font-size: 12px;
    line-height: 1.55;
}

.appel-profile-response-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.appel-profile-response-primary {
    display: grid;
}

.appel-profile-response-option {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: 19px;
    border: 1px solid;
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(45, 82, 87, 0.08);
}

.appel-profile-response-option.is-ai {
    border-color: #9dd0d3;
    background: linear-gradient(140deg, #eaf7f7 0%, #ffffff 100%);
}

.appel-profile-response-option.is-ai.is-primary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "heading button"
        "copy button";
    align-items: center;
    column-gap: 24px;
    padding: 22px;
    border-width: 2px;
    background: linear-gradient(135deg, #e7f7f7 0%, #f8fdfd 58%, #ffffff 100%);
    box-shadow: 0 13px 30px rgba(45, 116, 122, 0.14);
}

.appel-profile-response-option.is-primary .appel-profile-response-option-heading {
    grid-area: heading;
}

.appel-profile-response-option.is-primary .appel-profile-response-option-copy {
    grid-area: copy;
}

.appel-profile-response-option.is-primary .appel-profile-response-option-button {
    grid-area: button;
    width: auto;
    min-width: 230px;
}

.appel-profile-response-option.is-manual {
    border-color: #e5bd69;
    background: linear-gradient(140deg, #fff6df 0%, #fffdf7 100%);
    box-shadow: 0 10px 26px rgba(158, 105, 17, 0.13);
}

.appel-profile-response-option-heading {
    display: flex;
    align-items: center;
    gap: 11px;
}

.appel-profile-response-option-icon {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    background: #61a6ab;
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 6px 14px rgba(53, 124, 129, 0.2);
}

.appel-profile-response-option.is-manual .appel-profile-response-option-icon {
    background: #c4871b;
    font-size: 22px;
    box-shadow: 0 6px 14px rgba(158, 105, 17, 0.2);
}

.appel-profile-response-option-copy {
    flex: 1;
}

.appel-profile-response-option-label {
    display: block;
    margin: 0;
    color: #4d878b;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.appel-profile-response-option.is-manual .appel-profile-response-option-label {
    color: #a36b0d;
}

.appel-profile-response-option h3 {
    margin: 5px 0 0;
    color: #294f53;
    font-size: 15px;
    line-height: 1.35;
}

.appel-profile-response-option-heading + .appel-profile-response-option-copy h3 {
    margin-top: 14px;
}

.appel-profile-response-option p {
    margin: 8px 0 16px;
    color: #607578;
    font-size: 11px;
    line-height: 1.55;
}

.appel-profile-response-option-button {
    width: 100%;
    min-height: 42px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 13px;
    border: 0;
    text-align: center;
    line-height: 1.25;
}

.appel-profile-response-option.is-manual .appel-profile-response-option-button {
    background: #c4871b;
}

.appel-profile-response-option.is-manual .appel-profile-response-option-button:hover {
    background: #a96f10;
}

.appel-profile-response-decline {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 11px;
    margin-top: 16px;
    padding-top: 15px;
    border-top: 1px solid #dfe9ea;
    color: #748386;
    font-size: 10px;
}

.appel-profile-response-alternatives {
    margin-top: 17px;
    padding-top: 15px;
    border-top: 1px solid #dfe9ea;
}

.appel-profile-response-alternatives-label {
    margin-bottom: 9px;
    color: #698083;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.appel-profile-response-alternatives-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.appel-profile-response-alternative {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 12px;
    border: 1px solid #dfe8e9;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.72);
}

.appel-profile-response-alternative > div {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.appel-profile-response-alternative strong {
    color: #405f62;
    font-size: 11px;
}

.appel-profile-response-alternative span {
    color: #75878a;
    font-size: 9px;
    line-height: 1.35;
}

.appel-profile-response-alternative .mini-button,
.appel-profile-response-alternative-button {
    flex: 0 0 auto;
    white-space: nowrap;
}

.appel-profile-response-alternative-button {
    min-height: 38px;
    padding: 9px 14px;
    border: 0;
    border-radius: 7px;
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    box-shadow: 0 6px 14px rgba(45, 82, 87, 0.13);
}

.appel-profile-response-alternative-button.is-manual {
    background: #c4871b;
    box-shadow: 0 7px 16px rgba(158, 105, 17, 0.2);
}

.appel-profile-response-alternative-button.is-manual:hover {
    background: #a96f10;
}

.appel-profile-response-alternative-button.is-refusal {
    background: #b83d3d;
    box-shadow: 0 7px 16px rgba(142, 43, 43, 0.18);
}

.appel-profile-response-alternative-button.is-refusal:hover {
    background: #982e2e;
}

.appel-profile-response-alternative.is-decline {
    border-color: #ecdcdc;
    background: rgba(255, 250, 250, 0.72);
}

.appel-profile-response-decline form,
.appel-profile-manual-choice-actions form {
    margin: 0;
}

.appel-profile-results-box {
    margin-top: 40px;
    scroll-margin-top: 20px;
}

.appel-profile-manual-choice-modal {
    width: min(610px, 100%);
    padding: 28px;
    border-top: 5px solid #c4871b;
}

.appel-profile-manual-choice-warning {
    margin-top: 18px;
    padding: 14px 16px;
    border: 1px solid #e5bd69;
    border-radius: 10px;
    background: #fff8e8;
}

.appel-profile-manual-choice-warning strong,
.appel-profile-manual-choice-warning span {
    display: block;
}

.appel-profile-manual-choice-warning strong {
    color: #8a5908;
    font-size: 12px;
}

.appel-profile-manual-choice-warning span {
    margin-top: 5px;
    color: #765f37;
    font-size: 11px;
    line-height: 1.45;
}

.appel-profile-manual-choice-steps {
    display: grid;
    gap: 8px;
    margin-top: 16px;
}

.appel-profile-manual-choice-steps > div {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid #e4ecec;
    border-radius: 9px;
    background: #f9fbfb;
}

.appel-profile-manual-choice-steps span {
    display: inline-flex;
    flex: 0 0 25px;
    width: 25px;
    height: 25px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #61a6ab;
    color: #ffffff;
    font-size: 10px;
    font-weight: 900;
}

.appel-profile-manual-choice-steps p {
    margin: 0;
    color: #536c6f;
    font-size: 11px;
    line-height: 1.4;
}

.appel-profile-manual-choice-actions {
    align-items: center;
}

.appel-profile-manual-choice-confirm {
    border-color: #bd7e14 !important;
    background: #c4871b !important;
    color: #ffffff !important;
}

.appel-profile-manual-choice-confirm:hover {
    border-color: #9d650b !important;
    background: #a96f10 !important;
}

@media (max-width: 760px) {
    .appel-profile-response-choice-grid {
        grid-template-columns: 1fr;
    }

    .appel-profile-response-choice-head,
    .appel-profile-response-decline,
    .appel-profile-refusal-content {
        align-items: flex-start;
        flex-direction: column;
    }

    .appel-profile-response-option.is-ai.is-primary {
        grid-template-columns: 1fr;
        grid-template-areas:
            "heading"
            "copy"
            "button";
        row-gap: 4px;
    }

    .appel-profile-response-option.is-primary .appel-profile-response-option-button {
        width: 100%;
        min-width: 0;
        margin-top: 8px;
    }

    .appel-profile-response-alternatives-actions {
        grid-template-columns: 1fr;
    }

    .appel-profile-response-alternative {
        align-items: flex-start;
        flex-direction: column;
    }
}

.appel-profile-header-mission {
    margin-top: 10px;
    color: #2f6f73;
    font-size: 26px;
    font-weight: 800;
    line-height: 1.25;
}

.appel-profile-response-page .process-box {
    border-left-width: 1px;
    border-left-color: #dddddd;
}

.appel-profile-response-page .process-title {
    margin-bottom: 18px;
}

.appel-profile-match-list {
    display: grid;
    gap: 60px;
}

.appel-profile-match-card {
    border: 1px solid #dfe7e8;
    border-left: 1px solid #dfe7e8;
    border-radius: 8px;
    background: #ffffff;
    padding: 18px;
}

.appel-profile-match-card.positioned {
    border-color: #9ed5af;
    background: #f6fff8;
}

.appel-profile-match-card.needs-cv {
    border-color: #f5c46c;
}

.appel-profile-box-alert {
    border-color: #efcaca;
    background: #fffafa;
}

.appel-profile-closed-hero {
    border-color: #efcaca;
    background: #fffafa;
}

.appel-profile-closed-hero .dashboard-hero-title {
    color: #9b2c2c;
}

.appel-profile-closed-note {
    border-color: #efcaca;
    background: #fff7f7;
    color: #7f2d2d;
}

.appel-profile-match-head,
.appel-profile-match-meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.appel-profile-match-head {
    margin-bottom: 10px;
}

.appel-profile-match-title {
    color: #222222;
    font-size: 17px;
    font-weight: 700;
}

.appel-profile-match-subtitle {
    margin-top: 4px;
    color: #666666;
    font-size: 13px;
    font-weight: 600;
}

.appel-profile-card-action {
    flex: 0 0 auto;
}

.appel-profile-card-action .mini-button {
    padding: 6px 10px;
    font-size: 11px;
    white-space: nowrap;
}

.appel-profile-consultant-link {
    color: #222222;
    text-decoration: none;
}

.appel-profile-consultant-link:hover {
    color: #2f6f73;
    text-decoration: underline;
}

.appel-profile-score {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 88px;
    padding: 7px 12px;
    border: 1px solid #9ed5af;
    border-radius: 99px;
    background: #edf8f0;
    color: #2f6f3d;
    line-height: 1.1;
    white-space: nowrap;
}

.appel-profile-score strong {
    color: #2f6f3d;
    font-size: 15px;
    font-weight: 800;
}

.appel-profile-score span {
    margin-top: 2px;
    color: #7a8b8e;
    font-size: 10px;
    font-weight: 700;
}

.appel-profile-match-meta {
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.appel-profile-match-meta span {
    display: inline-flex;
    align-items: center;
    border: 1px solid #e4ecec;
    border-radius: 99px;
    background: #f7fafa;
    color: #555555;
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 700;
}

.appel-profile-ai-box {
    display: flex;
    align-items: stretch;
    min-width: 0;
    gap: 14px;
    margin: 14px 0 4px;
    padding: 14px;
    border: 1px solid #b9deda;
    border-radius: 8px;
    background: #eef8f6;
}

.appel-profile-ai-score {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    padding: 10px 12px;
    border: 1px solid #9ed5af;
    border-radius: 8px;
    background: #edf8f0;
    color: #2f6f3d;
    line-height: 1.1;
}

.appel-profile-ai-score strong {
    color: #2f6f3d;
    font-size: 22px;
    font-weight: 900;
}

.appel-profile-ai-score span {
    margin-top: 3px;
    color: #55776f;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.appel-profile-ai-reasons {
    flex: 1;
    min-width: 0;
    overflow: visible;
    white-space: normal;
}

.appel-profile-ai-title {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #2f6f73;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.appel-profile-ai-title span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 20px;
    padding: 0 6px;
    border-radius: 99px;
    background: #2f6f73;
    color: #ffffff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0;
}

.appel-profile-ai-line {
    display: block;
    width: auto;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 7px;
    padding: 7px 9px;
    border: 1px solid #c7e6e2;
    border-radius: 6px;
    background: #f7fafa;
    color: #2f6f73;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    word-break: normal;
}

.appel-profile-ai-criteria-keywords {
    display: inline;
    color: #2f6f3d;
    white-space: normal;
    overflow-wrap: anywhere;
}

.appel-profile-ai-criteria-keywords strong {
    color: #2f6f3d;
    font-weight: 900;
}

.appel-profile-reason-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 7px 0 0;
}

.appel-profile-reason-list span {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 6px;
    background: #f7fafa;
    border: 1px solid #c7e6e2;
    color: #2f6f73;
    font-size: 12px;
    font-weight: 700;
}

.appel-profile-cv-warning {
    margin: 14px 0 0;
    padding: 14px 16px;
    border: 1px solid #f5c46c;
    border-radius: 8px;
    background: #fffaf0;
}

.appel-profile-cv-warning-title {
    color: #9a6700;
    font-size: 13px;
    font-weight: 800;
}

.appel-profile-cv-warning-text {
    margin-top: 6px;
    color: #7c6a45;
    font-size: 12px;
    line-height: 1.5;
}

.appel-profile-cv-warning-link {
    display: inline-flex;
    margin-top: 10px;
    color: #2f6f73;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.appel-profile-cv-warning-link:hover {
    text-decoration: underline;
}

.appel-profile-position-title {
    margin-top: 28px;
    padding-top: 14px;
    border-top: 1px solid #edf1f1;
    color: #2f6f73;
    font-size: 18px;
    font-weight: 900;
    text-align: center;
}

.appel-profile-position-form {
    margin-top: 10px;
}

.appel-profile-position-action {
    display: flex;
    justify-content: center;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #eeeeee;
}

.appel-profile-position-modal .appel-profile-position-form {
    margin-top: 18px;
}

.appel-profile-position-modal {
    width: min(720px, 100%);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    padding: 28px;
}

.appel-profile-position-modal .appstore-modal-title {
    margin-bottom: 16px;
    font-size: 22px;
    font-weight: 850;
}

.appel-profile-position-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 12px;
    border: 1px solid #cfe4e6;
    border-radius: 10px;
    background: linear-gradient(135deg, #f2fafa 0%, #ffffff 100%);
}

.appel-profile-position-summary > div {
    min-width: 0;
    padding: 8px 10px;
}

.appel-profile-position-summary span,
.appel-profile-position-summary strong {
    display: block;
}

.appel-profile-position-summary span {
    margin-bottom: 5px;
    color: #718083;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.appel-profile-position-summary strong {
    color: #294f53;
    font-size: 13px;
    line-height: 1.4;
}

.appel-profile-position-section {
    margin-top: 14px;
    padding: 18px;
    border: 1px solid #dce7e8;
    border-radius: 11px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(47, 111, 115, 0.06);
}

.appel-profile-position-section-finance {
    border-color: #c9e3e5;
    background: #f6fbfb;
}

.appel-profile-position-section-quota {
    border-color: #eadbb9;
    background: #fffaf0;
}

.appel-profile-position-section-legal {
    border-color: #d9e2e3;
    background: #f8fafb;
}

.appel-profile-position-section-heading {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 16px;
}

.appel-profile-position-section-number {
    display: inline-flex;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #61a6ab;
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
}

.appel-profile-position-section-heading strong,
.appel-profile-position-section-heading small {
    display: block;
}

.appel-profile-position-section-heading strong {
    color: #294f53;
    font-size: 14px;
    font-weight: 850;
}

.appel-profile-position-section-heading small {
    margin-top: 3px;
    color: #718083;
    font-size: 11px;
    line-height: 1.35;
}

.appel-profile-position-fields {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.appel-profile-position-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.appel-profile-position-note {
    flex: 1;
}

.appel-profile-position-note textarea {
    min-height: 96px;
    resize: vertical;
}

.appel-profile-position-confirm {
    margin-top: 14px;
}

.appel-profile-position-actions {
    position: sticky;
    bottom: -28px;
    z-index: 2;
    margin: 18px -28px -28px;
    padding: 16px 28px;
    border-top: 1px solid #dfe6e8;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 -10px 24px rgba(31, 45, 61, 0.07);
    backdrop-filter: blur(8px);
}

.appel-profile-finance-line {
    margin-top: 10px;
    color: #555555;
    font-size: 12px;
    font-weight: 700;
}

.appel-profile-finance-line strong {
    color: #2f6f73;
}

@media (max-width: 800px) {
    .appel-profile-position-row {
        grid-template-columns: 1fr;
    }
}

.appel-profile-results-disabled {
    opacity: 0.62;
}

.appel-profile-results-disabled .appel-profile-match-card,
.appel-profile-results-disabled .appel-profile-cv-warning,
.appel-profile-results-disabled .appel-profile-consultant-link {
    pointer-events: none;
}

.appel-profile-confirm-modal {
    max-width: 620px;
}

.appel-profile-confirm-tjm {
    margin: 14px 0 12px;
    color: #4d5e61;
    font-size: 13px;
    font-weight: 700;
}

.appel-profile-confirm-tjm strong {
    color: #2f6f73;
}

.appel-profile-confirm-bill {
    margin-top: 0;
}

.appel-profile-confirm-note {
    margin-top: 10px;
    margin-bottom: 6px;
    font-size: 11px;
    line-height: 1.35;
    color: #6f7f83;
}

.appel-profile-confirm-validation-note {
    margin-top: 0;
    margin-bottom: 18px;
}

.appel-profile-confirm-modal .appstore-modal-text.appel-profile-confirm-note {
    margin-top: 8px;
    margin-bottom: 4px;
    font-size: 11px;
    line-height: 1.3;
    color: #6f7f83;
}

.appel-profile-position-modal .appstore-modal-text.appel-profile-confirm-note {
    margin-top: 8px;
    margin-bottom: 4px;
    font-size: 11px;
    line-height: 1.3;
    color: #6f7f83;
}

.appel-profile-confirm-modal .appstore-modal-text.appel-profile-confirm-validation-note {
    margin-top: 0;
    margin-bottom: 26px;
}

.appel-profile-position-modal .appstore-modal-text.appel-profile-confirm-validation-note {
    margin-top: 0;
    margin-bottom: 26px;
}

.appel-profile-confirm-modal .mission-position-plan-line {
    margin-top: 24px;
}

.appel-profile-position-modal .mission-position-plan-line {
    margin-top: 0;
}

body.appel-profile-modal-open .appel-profile-match-card:hover,
body.appel-profile-modal-open .appel-profile-match-card:focus-within {
    transform: none !important;
    box-shadow: none !important;
}

.appels-profils-overview-list {
    display: grid;
    gap: 50px;
}

.appels-profils-overview-card {
    display: block;
    padding: 18px;
    border: 1px solid #dfe7e8;
    border-radius: 8px;
    background: #ffffff;
    color: inherit;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.appels-profils-overview-card:hover {
    border-color: #71b5ba;
    box-shadow: 0 10px 24px rgba(58, 127, 132, .10);
    transform: translateY(-1px);
}

.appels-profils-overview-card-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid #edf1f1;
}

.appels-profils-overview-card h3 {
    margin: 0 0 6px;
    color: #222222;
    font-size: 17px;
}

.appels-profils-overview-card p {
    margin: 0 0 5px;
    color: #555555;
    font-size: 13px;
    font-weight: 700;
}

.appels-profils-overview-card span {
    color: #777777;
    font-size: 12px;
}

.appels-profils-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 92px;
    padding: 7px 12px;
    border: 1px solid #d6ecef;
    border-radius: 99px;
    background: #f8fbfb;
    color: #2f6f73;
    font-size: 12px;
    font-weight: 800;
}

.appels-profils-status-pill.status-success {
    border-color: #8fd3a3;
    background: #f4fff7;
    color: #2f6f3d;
}

.appels-profils-status-pill.status-danger {
    border-color: #efb3b3;
    background: #fff7f7;
    color: #a83232;
}

.appels-profils-status-pill.status-pending {
    border-color: #f3d89b;
    background: #fffaf0;
    color: #7a5b13;
}

.appels-profils-overview-actions {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex: 0 0 auto;
    flex-direction: column;
}

.appels-profils-overview-quick-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.appels-profils-consultants-count {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 38px;
    padding: 6px 8px 6px 13px;
    box-sizing: border-box;
    border: 1px solid #cfe4df;
    border-radius: 9px;
    background: linear-gradient(135deg, #f8fcfa 0%, #edf7f3 100%);
    box-shadow: 0 4px 12px rgba(43, 107, 79, .08);
    white-space: nowrap;
}

.appels-profils-overview-card .appels-profils-consultants-count span {
    color: #55736a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .01em;
}

.appels-profils-consultants-count strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 25px;
    height: 25px;
    padding: 0 6px;
    box-sizing: border-box;
    border-radius: 7px;
    background: #61A6AB;
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 3px 7px rgba(97, 166, 171, .20);
}

.appels-profils-overview-card .appels-profils-mission-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 9px 17px;
    box-sizing: border-box;
    border: 1px solid #57969b;
    border-radius: 8px;
    background: #61A6AB;
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 5px 12px rgba(97, 166, 171, .22);
}

.appels-profils-overview-card .appels-profils-mission-button:hover {
    border-color: #47858a;
    background: #4f9297;
    color: #ffffff;
    box-shadow: 0 7px 15px rgba(97, 166, 171, .27);
}

.appels-profils-overview-card .appels-profils-mission-button:focus-visible {
    outline: 3px solid rgba(97, 166, 171, .22);
    outline-offset: 2px;
}

.appels-profils-overview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

@media (max-width: 900px) {
    .appel-profile-kpi-grid {
        grid-template-columns: 1fr;
    }

    .appel-profile-match-head {
        align-items: stretch;
        grid-template-columns: 1fr;
        flex-direction: column;
    }
}

.appstore-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(31, 45, 61, 0.42);
}

#featureActivationModal {
    align-items: flex-start;
    padding: 0 24px;
    overflow-y: auto;
}

.appstore-modal-overlay[hidden] {
    display: none;
}

.appstore-modal {
    position: relative;
    width: min(520px, 100%);
    background: #ffffff;
    border: 1px solid #dfe6e8;
    border-radius: 10px;
    box-shadow: 0 24px 70px rgba(0,0,0,0.22);
    padding: 24px;
}

#featureActivationModal > .appstore-modal {
    margin: clamp(24px, 8vh, 80px) auto 24px;
    max-height: calc(100vh - clamp(48px, 16vh, 104px));
    overflow-y: auto;
}

.appstore-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    background: #f5f7f8;
    color: #555555;
    font-size: 22px;
    line-height: 32px;
    text-decoration: none;
    cursor: pointer;
    padding: 0;
    appearance: none;
}

.appstore-modal-title {
    color: #2f6f73;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
}

.appstore-modal-feature {
    color: #222222;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 12px;
}

.feature-payment-success-modal {
    border-top: 4px solid #61a6ab;
}

.feature-payment-success-modal .appstore-modal-actions .mini-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    box-sizing: border-box;
    margin: 0;
    border: 0;
    appearance: none;
    font-family: inherit;
    line-height: 1.25;
    text-align: center;
    cursor: pointer;
}

.feature-payment-return-banner,
.feature-payment-return-pending {
    margin-bottom: 24px;
}

.appstore-modal-text a {
    color: #5f8f94;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.25;
}

.appstore-modal-text a:hover {
    color: #477a7f;
    text-decoration: underline;
}

/* =========================
   PRESTATIONS / CLIENTS
   ========================= */

.prestation-actions-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-bottom: 22px;
}

.compact-submit-zone {
    margin-top: 18px;
    text-align: center;
}

.client-danger-zone {
    border-color: #efc5ca;
    border-left-color: #b00020;
    background: #fff8f9;
}

.client-danger-zone .process-title,
.client-delete-modal .appstore-modal-title {
    color: #b00020;
}

.client-danger-zone-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.client-danger-zone-content strong {
    color: #4d1720;
    font-size: 14px;
}

.client-danger-zone-content p {
    margin: 6px 0 0;
    color: #73545a;
    font-size: 13px;
    line-height: 1.5;
}

.client-danger-zone-content .submit-button {
    flex: 0 0 auto;
}

.prestation-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 24px;
}

.prestation-kpi {
    border: 1px solid #e5e5e5;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
    background: #ffffff;
    padding: 16px 18px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.03);
}

.prestation-kpi span {
    display: block;
    color: #777777;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 8px;
}

.prestation-kpi strong {
    color: #2f6f73;
    font-size: 20px;
}

.prestation-kpi.muted strong {
    color: #555555;
}

.prestation-kpi-benefit {
    background: #9ed5af;
    border-color: #8cc49e;
}

.prestation-kpi-benefit span,
.prestation-kpi-benefit strong {
    color: #234f2e;
}

.finance-positive {
    color: #2f7d43 !important;
}

.finance-negative {
    color: #b43845 !important;
}

.finance-neutral {
    color: #555555 !important;
}

.finance-filter-box {
    margin-bottom: 18px;
}

.finance-year-form {
    display: flex;
    align-items: flex-end;
    gap: 12px;
}

.finance-year-form .form-field {
    width: 220px;
}

.finance-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 24px;
}

.finance-analysis-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 24px;
}

.finance-analysis-card {
    border: 1px solid #dceced;
    border-radius: 8px;
    background: #f8fbfb;
    padding: 16px 18px;
}

.finance-analysis-card span {
    display: block;
    color: #61A6AB;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 7px;
    text-transform: uppercase;
}

.finance-analysis-card strong {
    display: block;
    color: #222222;
    font-size: 18px;
    margin-bottom: 8px;
}

.finance-analysis-card p {
    margin: 0;
    color: #666666;
    font-size: 12px;
    line-height: 1.45;
}

.finance-ranking-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.finance-table {
    display: grid;
    gap: 8px;
}

.finance-table-row {
    display: grid;
    gap: 10px;
    align-items: center;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    background: #ffffff;
    padding: 12px;
    color: #333333;
    font-size: 12px;
}

.finance-table-row.head {
    background: #f5f7f8;
    color: #666666;
    font-weight: 700;
}

.finance-month-row {
    grid-template-columns: 1.2fr 0.55fr repeat(5, 1fr);
}

.finance-ranking-row {
    grid-template-columns: 1.5fr 0.6fr 1fr 1fr;
}

.finance-consultant-row {
    grid-template-columns: 1.2fr 1.4fr 0.6fr 1fr;
}

.finance-collab-row {
    grid-template-columns: 1.4fr 0.8fr 0.8fr 1fr;
}

.import-consultants-row {
    grid-template-columns: 70px 1fr 120px 1.7fr;
}

.import-consultants-preview-note {
    margin: 22px auto 0;
    padding: 11px 13px;
    border: 1px solid #d9edef;
    border-radius: 8px;
    background: #eef7f8;
    color: #2f6f73;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.45;
    text-align: center;
}

.import-missions-preview-note {
    margin-bottom: 22px;
}

.import-consultants-preview-page {
    max-width: 1080px;
    padding-top: 40px;
}

.import-consultants-preview-box {
    margin-top: 0;
    padding-top: 26px;
    border: 0;
    border-left: 0;
    background: transparent;
    box-shadow: none;
}

.import-consultants-treatment-header {
    padding: 28px 32px 34px;
    border: 0;
    border-bottom: 4px solid #61A6AB;
    background: #ffffff;
    text-align: center;
}

.import-consultants-treatment-header h1 {
    margin: 0 0 16px;
    font-size: 30px;
    line-height: 1.2;
}

.import-consultants-treatment-header p {
    margin: 0;
    color: #777777;
    font-size: 15px;
    font-weight: 800;
}

.import-consultants-stepper {
    margin: 28px 0 34px;
}

.import-consultants-preview-hero {
    margin: 4px 0 26px;
    text-align: center;
}

.import-consultants-preview-hero h2 {
    margin: 0 0 8px;
    font-size: 26px;
    line-height: 1.2;
}

.import-consultants-preview-hero p {
    max-width: 760px;
    margin: 0 auto;
    color: #666666;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.import-consultants-preview-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 24px;
}

.import-consultants-preview-kpi {
    padding: 14px;
    border-radius: 8px;
    border: 1px solid #e6eeee;
    background: #fbfdfd;
    text-align: center;
}

.import-consultants-preview-kpi span {
    display: block;
    margin-bottom: 6px;
    color: #666666;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.import-consultants-preview-kpi strong {
    display: block;
    font-size: 30px;
    line-height: 1;
}

.import-consultants-preview-kpi.valid {
    border-color: #c9e8d1;
    background: #edf8f0;
    color: #2f6f3d;
}

.import-consultants-preview-kpi.total {
    border-color: #d9edef;
    background: #eef7f8;
    color: #2f6f73;
}

.import-consultants-preview-kpi.error {
    border-color: #efb8b8;
    background: #fff0f0;
    color: #b00020;
}

.import-consultants-preview-actions {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
    margin: 30px 0;
    text-align: center;
}

.import-consultants-preview-actions.top {
    margin-bottom: 30px;
}

.import-consultants-preview-actions.bottom {
    margin-top: 34px;
}

.import-consultants-confirm-form {
    flex: 0 0 auto;
    width: auto;
    margin: 0;
    text-align: center;
}

.import-consultants-confirm-buttons {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
    margin-top: 18px;
}

.import-consultants-action-note {
    margin-top: 6px;
    color: #777777;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.finance-table-row.import-consultants-status-valide,
.finance-table-row.import-consultants-status-cree {
    background: #edf8f0;
    border-color: #c9e8d1;
}

.finance-table-row.import-consultants-status-valide div:nth-child(3),
.finance-table-row.import-consultants-status-cree div:nth-child(3) {
    color: #2f6f3d;
    font-weight: 900;
}

.finance-table-row.import-consultants-status-ignore {
    background: #fff8e8;
    border-color: #f2dda8;
}

.finance-table-row.import-consultants-status-ignore div:nth-child(3) {
    color: #9a6a00;
    font-weight: 900;
}

.finance-table-row.import-consultants-status-erreur {
    background: #ffe2e2;
    border-color: #efb8b8;
}

.finance-table-row.import-consultants-status-erreur div:nth-child(3) {
    color: #b00020;
    font-weight: 900;
}

.finance-table-row.head.import-consultants-row {
    background: #61A6AB;
    border-color: #61A6AB;
    color: #ffffff;
}

.import-consultants-info-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: 12px 0 4px;
}

.import-consultants-info-pill {
    display: inline-flex;
    align-items: center;
    padding: 7px 11px;
    border-radius: 999px;
    border: 1px solid #cfe8ea;
    background: #f6fbfb;
    color: #2f6f73;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

.import-consultants-column-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 32px;
}

.import-consultants-column-card {
    padding: 14px;
    border: 1px solid #e6eeee;
    border-radius: 8px;
    background: #fbfdfd;
}

.import-consultants-column-card.required {
    border-color: #b9deda;
    background: #eef8f6;
}

.import-consultants-column-card span {
    display: block;
    margin-bottom: 9px;
    color: #61A6AB;
    font-size: 12px;
    font-weight: 900;
}

.import-consultants-check-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.import-consultants-check-list li {
    position: relative;
    padding-left: 18px;
    color: #333333;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.25;
}

.import-consultants-check-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #2f6f3d;
}

.import-consultants-check-list.optional li::before {
    background: #9aa6a8;
}

.import-consultants-field-table {
    display: grid;
    gap: 4px;
}

.import-consultants-field-row {
    display: grid;
    grid-template-columns: 1fr 2.2fr 110px;
    gap: 10px;
    align-items: center;
    padding: 7px 11px;
    border: 1px solid #edf1f2;
    border-radius: 8px;
    background: #ffffff;
    color: #444444;
    font-size: 12px;
    font-weight: 700;
}

.import-consultants-field-row.head {
    background: #61A6AB;
    border-color: #61A6AB;
    color: #ffffff;
    font-size: 11px;
    text-transform: uppercase;
}

.import-consultants-field-row:not(.head) div:first-child {
    color: #222222;
    font-weight: 800;
}

.import-consultants-field-row:not(.head) div:nth-child(2) {
    color: #2f6f3d;
    font-weight: 800;
}

.import-consultants-field-row:not(.head) div:last-child {
    justify-self: start;
    padding: 4px 9px;
    border-radius: 999px;
    background: #f1f1f1;
    color: #777777;
    font-size: 11px;
    line-height: 1;
}

.import-consultants-field-row.required div:last-child {
    background: #eaf7ee;
    border: 1px solid #bddfc5;
    color: #2f6f3d;
}

.import-consultants-upload-box {
    background: #eef8f6;
    border-color: #61A6AB;
}

.import-consultants-upload-box:hover,
.import-consultants-upload-box.dragover {
    background: #e3f3f1;
    border-color: #2f6f73;
}

.import-consultants-upload-box.has-file {
    background: #eaf7ee;
    border-color: #4f9d62;
}

.import-consultants-upload-box.has-file .upload-title {
    color: #2f6f3d;
}

.import-consultants-upload-info-row {
    justify-content: center;
    margin: 10px 0 14px;
}

@media (max-width: 760px) {
    .import-consultants-column-summary,
    .import-consultants-field-row {
        grid-template-columns: 1fr;
    }

    .import-consultants-field-row.head {
        display: none;
    }
}

.finance-table-empty {
    color: #777777;
    font-weight: 700;
}

.finance-strong {
    color: #2f6f73;
    font-weight: 700;
}

.finance-insight-list {
    display: grid;
    gap: 10px;
}

.finance-insight-item {
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 14px;
    align-items: center;
    border: 1px solid #edf2f2;
    border-radius: 8px;
    background: #fbfdfd;
    padding: 12px 14px;
}

.finance-insight-item strong {
    color: #61A6AB;
    font-size: 12px;
    text-transform: uppercase;
}

.finance-insight-item span {
    color: #333333;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.contract-filter-form {
    display: flex;
    align-items: flex-end;
    gap: 12px;
}

.contract-filter-form .form-field {
    flex: 1;
}

.contract-layout-grid {
    display: block;
}

.contract-prestation-list,
.contract-card-list,
.contract-template-list {
    display: grid;
    gap: 50px;
}

.contract-prestation-card,
.contract-card,
.contract-template-card {
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background: #ffffff;
    padding: 16px;
}

.contract-prestation-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.contract-prestation-card-link:hover {
    border-color: #61A6AB;
    background: #f9fdfd;
    box-shadow: 0 8px 22px rgba(97, 166, 171, 0.12);
}

.contract-prestation-card-compact {
    padding: 0;
    border: 0;
}

.contract-selected-summary {
    display: grid;
    grid-template-columns: auto 1fr auto 1fr auto 1fr;
    gap: 8px 10px;
    align-items: center;
    border: 1px solid #edf2f2;
    border-radius: 8px;
    background: #fbfdfd;
    padding: 12px 14px;
    margin-top: 14px;
}

.contract-selected-summary span {
    color: #777777;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.contract-selected-summary strong {
    color: #2f6f73;
    font-size: 12px;
}

.contract-prestation-head,
.contract-card-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.contract-prestation-head strong,
.contract-card-main strong,
.contract-template-card summary strong {
    display: block;
    color: #222222;
    font-size: 15px;
    margin-bottom: 5px;
}

.contract-prestation-head span,
.contract-card-main span,
.contract-template-card summary span {
    color: #666666;
    font-size: 12px;
    font-weight: 700;
}

.contract-card-list {
    margin-top: 14px;
}

.contract-card-clickable {
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.contract-card-clickable:hover {
    border-color: #61A6AB;
    background: #f9fdfd;
    box-shadow: 0 8px 22px rgba(97, 166, 171, 0.12);
}

.contract-card-a_envoyer {
    border-left: 4px solid #f0d28b;
}

.contract-card-en_attente_signature {
    border-left: 4px solid #bdd9f0;
}

.contract-card-signe {
    border-left: 4px solid #9ed5af;
    border-color: #9ed5af;
    background: #edf8f1;
}

.contract-card-signe:hover {
    border-color: #7bc992;
    background: #e6f5ec;
}

.contract-card-disabled {
    cursor: not-allowed;
    opacity: 0.58;
    background: #fafafa;
}

.contract-card-disabled:hover {
    border-color: #e5e5e5;
    background: #fafafa;
    box-shadow: none;
}

.contract-status {
    display: inline-flex;
    align-items: center;
    border-radius: 99px;
    padding: 6px 11px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.contract-status-draft {
    border: 1px solid #f0d28b;
    background: #fff8e8;
    color: #8a6718;
}

.contract-status-waiting {
    border: 1px solid #bdd9f0;
    background: #eef7ff;
    color: #2c668e;
}

.contract-status-signed {
    border: 1px solid #9ed5af;
    background: #edf8f1;
    color: #2f6f3d;
}

.contract-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 14px;
}

.contract-status-form {
    display: flex;
    align-items: center;
    gap: 8px;
}

.contract-status-form select {
    min-width: 170px;
    border: 1px solid #dbe7e8;
    border-radius: 99px;
    background: #ffffff;
    color: #2f6f73;
    padding: 8px 34px 8px 13px;
    font-size: 12px;
    font-family: Arial, sans-serif;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(97, 166, 171, 0.08);
}

.contract-status-form select:focus {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 2px rgba(97,166,171,0.15);
}

.contract-party-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-top: 1px solid #eeeeee;
    margin-top: 14px;
    padding-top: 12px;
    color: #666666;
    font-size: 12px;
    font-weight: 700;
}

.contract-party-flow {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.contract-flow-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #edf2f2;
    border-radius: 8px;
    background: #ffffff;
    padding: 8px 10px;
    color: #444444;
    font-size: 11px;
}

.contract-flow-chip span {
    color: #61A6AB;
    font-weight: 900;
}

.contract-disabled-note {
    color: #8a6718;
    font-size: 12px;
    font-weight: 700;
}

.contract-preview {
    margin-top: 14px;
    border-top: 1px solid #eeeeee;
    padding-top: 12px;
}

.contract-preview summary,
.contract-template-card summary {
    cursor: pointer;
    color: #61A6AB;
    font-weight: 700;
}

.contract-preview-content {
    max-height: 360px;
    overflow: auto;
    margin-top: 12px;
    border: 1px solid #edf2f2;
    border-radius: 8px;
    background: #fbfdfd;
    padding: 14px;
    color: #333333;
    font-size: 12px;
    line-height: 1.65;
}

.contract-template-card[open] summary {
    margin-bottom: 12px;
}

.contract-variable-hint {
    border: 1px solid #cde8e9;
    border-radius: 8px;
    background: #f6fbfb;
    color: #2f6f73;
    padding: 10px 12px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.45;
    margin-bottom: 12px;
}

.contract-template-textarea {
    width: 100%;
    min-height: 360px;
    margin-bottom: 12px;
    box-sizing: border-box;
}

.contract-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(18, 30, 32, 0.45);
    padding: 36px;
    cursor: default;
}

.contract-modal-overlay.open {
    display: flex;
}

.contract-modal {
    display: flex;
    flex-direction: column;
    width: min(1120px, 94vw);
    max-height: 90vh;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 22px 70px rgba(0, 0, 0, 0.22);
    overflow: hidden;
}

.contract-modal-header {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    border-bottom: 1px solid #edf2f2;
    background: #ffffff;
    padding: 20px 24px;
}

.contract-modal-header strong {
    display: block;
    color: #222222;
    font-size: 18px;
    margin: 5px 0;
}

.contract-modal-header span,
.contract-modal-context {
    color: #666666;
    font-size: 12px;
    font-weight: 700;
}

.contract-modal-context {
    color: #61A6AB;
}

.contract-modal-flow,
.contract-print-flow {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    margin-top: 6px;
    white-space: nowrap;
}

.contract-modal-flow .contract-flow-chip,
.contract-print-flow .contract-flow-chip {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0;
    color: #61A6AB;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.contract-modal-flow .contract-flow-chip strong,
.contract-print-flow .contract-flow-chip strong,
.contract-modal-flow .contract-flow-chip span,
.contract-print-flow .contract-flow-chip span {
    color: #61A6AB;
    display: inline;
}

.contract-modal-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.contract-modal-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: #f3f6f6;
    color: #333333;
    font-size: 24px;
    font-weight: 700;
    cursor: pointer;
}

.contract-modal-body {
    overflow-y: auto;
    padding: 24px;
    background: #f5f7f7;
}

.contract-document {
    width: min(820px, 100%);
    min-height: 980px;
    margin: 0 auto;
    border: 1px solid #e5e5e5;
    background: #ffffff;
    padding: 54px 64px;
    color: #222222;
    font-size: 13px;
    line-height: 1.7;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.contract-document h1 {
    color: #111111;
    font-size: 22px;
    line-height: 1.25;
    text-align: center;
    text-transform: uppercase;
    margin: 0 0 18px;
}

.contract-document h2 {
    color: #2f6f73;
    font-size: 15px;
    line-height: 1.35;
    text-transform: uppercase;
    margin: 24px 0 8px;
}

.contract-document p {
    margin: 0 0 9px;
}

.contract-document .contract-clause {
    font-weight: 700;
}

.contract-print-body {
    background: #eef2f3;
}

.contract-print-page {
    width: min(980px, calc(100% - 40px));
    margin: 30px auto;
}

.contract-print-toolbar {
    position: sticky;
    top: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid #dddddd;
    background: #ffffff;
    padding: 14px 18px;
    margin-bottom: 18px;
}

.contract-print-toolbar strong,
.contract-print-toolbar span {
    display: block;
}

.contract-print-toolbar span {
    color: #666666;
    font-size: 12px;
    font-weight: 700;
    margin-top: 3px;
}

.contract-print-flow .contract-flow-chip {
    margin-top: 4px;
}

.contract-print-flow .contract-flow-chip {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    margin-top: 0;
}

@media print {
    @page {
        margin: 14mm 16mm;
    }

    html,
    body,
    .contract-print-body,
    .contract-print-page,
    .contract-document {
        background: #ffffff !important;
    }

    html,
    body,
    .contract-print-body {
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .contract-print-toolbar {
        display: none;
    }

    .contract-print-page {
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .contract-document {
        width: auto !important;
        min-height: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
}

.prestation-card-list {
    display: grid;
    gap: 40px;
}

.prestation-card {
    display: block;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background: #ffffff;
    padding: 18px;
    color: inherit;
    text-decoration: none;
}

.prestation-card.clickable:hover {
    border-color: #61A6AB;
    background: #f8fbfb;
}

.prestation-card-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.prestation-card-title {
    color: #222222;
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 5px;
}

.prestation-card-subtitle {
    color: #666666;
    font-size: 13px;
    font-weight: 600;
}

.prestation-card-labels {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 7px;
    flex-shrink: 0;
}

.prestation-job-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 8px;
    border: 1px solid #cde8e9;
    border-radius: 99px;
    background: #f6fbfb;
    color: #2f6f73;
    padding: 5px 10px;
    font-size: 11px;
    font-weight: 700;
}

.prestation-job-badge-header {
    margin-top: 12px;
    background: #ffffff;
}

.prestation-card-metrics,
.prestation-info-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.prestation-card-metrics span,
.prestation-info-grid span {
    display: block;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    background: #f8f9fa;
    padding: 11px 12px;
    color: #333333;
    font-size: 12px;
    font-weight: 700;
}

.prestation-card-metrics span.prestation-card-margin-metric,
.prestation-info-grid span.prestation-card-margin-metric {
    background: #9ed5af;
    border-color: #8cc49e;
}

.prestation-detail-contact-meta {
    margin-top: 14px;
}

.prestation-card-metrics strong,
.prestation-info-grid strong {
    display: block;
    color: #777777;
    font-size: 10px;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.prestation-card-footer {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 14px;
    color: #666666;
    font-size: 12px;
    font-weight: 700;
}

.prestation-card-footer-muted {
    margin-top: 8px;
    color: #777777;
    font-size: 12px;
}

.client-card-meta {
    display: grid;
    gap: 7px;
}

.client-card-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.client-card-meta-row strong {
    color: #555555;
    white-space: nowrap;
}

.prestation-card-address {
    margin-top: 12px;
    border-top: 1px solid #eeeeee;
    padding-top: 12px;
    color: #666666;
    font-size: 13px;
    line-height: 1.45;
}

.prestation-mode-choice {
    margin-bottom: 18px;
}

.prestation-consultant-picker {
    display: grid;
    gap: 14px;
}

.prestation-consultant-selected {
    min-height: 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #dddddd;
    border-radius: 8px;
    background: #f8fbfb;
    color: #777777;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}

.prestation-consultant-selected.selected {
    align-items: flex-start;
    background: #EAF4F5;
    border-color: #61A6AB;
    color: #2f6f73;
    padding: 14px 16px;
    text-align: left;
}

.prestation-consultant-selected strong {
    color: #222222;
    font-size: 15px;
}

.prestation-consultant-selected span {
    margin-top: 4px;
}

.prestation-consultant-results-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #61A6AB;
    font-weight: 700;
}

.prestation-consultant-results {
    display: grid;
    gap: 8px;
}

.prestation-consultant-row {
    display: grid;
    grid-template-columns: 2fr 1fr 0.7fr 1fr;
    gap: 12px;
    align-items: center;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    background: #ffffff;
    padding: 12px;
    text-align: left;
    cursor: pointer;
}

.prestation-consultant-row:hover {
    border-color: #61A6AB;
    background: #f8fbfb;
}

.prestation-consultant-row strong,
.prestation-consultant-row small {
    display: block;
}

.prestation-consultant-row small {
    margin-top: 4px;
    color: #666666;
}

.prestation-montage-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.prestation-montage-card {
    display: block;
    border: 1px solid #e0e0e0;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
    background: #ffffff;
    padding: 16px;
    cursor: pointer;
}

.prestation-montage-card input {
    display: none;
}

.prestation-montage-card:hover {
    background: #f8fbfb;
}

.prestation-montage-card.selected {
    background: #EAF4F5;
    border-color: #61A6AB;
}

.prestation-montage-card.disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.prestation-montage-title {
    color: #222222;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 8px;
}

.prestation-montage-text {
    color: #666666;
    font-size: 12px;
    line-height: 1.45;
    margin-bottom: 12px;
}

.prestation-flow {
    display: grid;
    gap: 7px;
}

.prestation-flow-line {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    border: 1px solid #edf2f2;
    border-radius: 8px;
    background: #fbfdfd;
    padding: 8px 10px;
    color: #333333;
    font-size: 12px;
}

.prestation-flow-line span {
    color: #61A6AB;
    font-weight: 700;
}

.prestation-flow-line em {
    color: #666666;
    font-style: normal;
    font-weight: 700;
}

.prestation-flow-line.partner-line {
    background: #fffaf0;
}

.prestation-create-grid,
.prestation-detail-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 18px;
    align-items: start;
}

.prestation-workflow-step[hidden] {
    display: none;
}

.prestation-picker-label {
    display: block;
    color: #333333;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 9px;
}

.prestation-selection-picker .submit-button {
    flex: 0 0 auto;
    min-width: 188px;
}

.prestation-client-filters {
    grid-template-columns: 1fr;
}

.prestation-consultant-filters {
    grid-template-columns: 1fr;
}

.prestation-modal-toolbar {
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
}

.prestation-modal-add-button {
    flex: 0 0 auto;
    margin-bottom: 0;
}

.mission-consultant-result.prestation-client-result {
    grid-template-columns: 1.5fr 0.9fr 1fr 0.8fr 1fr;
}

#consultantResults .mission-consultant-result {
    grid-template-columns: 1fr 1fr 1.9fr 0.75fr 0.9fr;
}

.prestation-finance-form-grid {
    display: grid;
    gap: 12px;
    margin-bottom: 16px;
}

.prestation-recap-example {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid #9ed5af;
    border-radius: 8px;
    background: #edf8f1;
    padding: 12px;
    color: #2f6f3d;
    font-size: 13px;
    font-weight: 700;
    margin: 10px 0 12px;
}

.prestation-recap-line,
.prestation-recap-total {
    font-size: 13px;
}

.prestation-recap-box {
    position: sticky;
    top: 18px;
}

.prestation-recap-line,
.prestation-recap-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid #eeeeee;
    padding: 9px 0;
    color: #555555;
    font-size: 13px;
}

.prestation-recap-total {
    border-bottom: 0;
    padding-top: 12px;
    color: #2f6f73;
    font-weight: 700;
    font-size: 13px;
}

.prestation-status-badge {
    display: inline-flex;
    align-items: center;
    border: 1px solid #cde8e9;
    border-radius: 99px;
    background: #f6fbfb;
    color: #2f6f73;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 700;
}

.prestation-status-active,
.prestation-status-actif {
    border-color: #9ed5af;
    background: #edf8f1;
    color: #2f6f3d;
}

.prestation-status-terminee {
    border-color: #d8c28f;
    background: #fff8e8;
    color: #7a5a12;
}

.prestation-status-archive {
    border-color: #d7dde0;
    background: #f4f6f7;
    color: #5f686b;
}

.prestation-cra-badge {
    display: inline-flex;
    align-items: center;
    border: 1px solid #cde8e9;
    border-radius: 99px;
    background: #f6fbfb;
    color: #2f6f73;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.prestation-form-alert[hidden] {
    display: none;
}

.form-field input.input-error,
.form-field select.input-error,
.form-field textarea.input-error,
.submit-button.input-error,
.process-box.input-error {
    border-color: #cf3d4d;
    box-shadow: 0 0 0 2px rgba(207, 61, 77, 0.12);
}

.prestation-detail-header {
    position: relative;
    background: #EAF7EE;
    border-bottom-color: #3aa35c;
}

.prestation-detail-header-terminee {
    background: #fff1f1;
    border-bottom-color: #c94c4c;
}

.prestation-detail-header-terminee .page-title,
.prestation-detail-header-terminee .prestation-header-consultant {
    color: #a83232;
}

.prestation-detail-header-terminee .prestation-header-pill {
    border-color: #c94c4c;
    color: #a83232;
}

.prestation-detail-header-terminee .prestation-status-badge {
    border-color: #c94c4c;
    background: #ffffff;
    color: #a83232;
}

.prestation-detail-header-archive {
    background: #f4f6f7;
    border-bottom-color: #9aa5aa;
}

.prestation-detail-header-archive .page-title,
.prestation-detail-header-archive .prestation-header-consultant {
    color: #4f595d;
}

.prestation-detail-header-archive .prestation-header-pill {
    border-color: #9aa5aa;
    color: #4f595d;
}

.prestation-header-consultant-row {
    position: relative;
    min-height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.prestation-header-consultant {
    color: #2f6f73;
    font-size: 16px;
    font-weight: 700;
    margin-top: 0;
}

.prestation-header-consultant-row .prestation-status-badge {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.prestation-header-pill {
    display: inline-block;
    margin-top: 12px;
    border: 1px solid #3aa35c;
    border-radius: 99px;
    background: #ffffff;
    color: #2a7d43;
    padding: 7px 14px;
    font-size: 12px;
    font-weight: 700;
}

.prestation-montage-summary p {
    color: #666666;
    font-size: 13px;
    line-height: 1.5;
}

.prestation-internal-note-box {
    background: #fffdf7;
    border-left-color: #d7b96a;
}

.prestation-internal-note {
    color: #444444;
    font-size: 13px;
    line-height: 1.6;
}

.prestation-detail-meta-panel {
    display: grid;
    gap: 9px;
    margin-top: 14px;
    border-top: 1px solid #eeeeee;
    padding-top: 14px;
}

.prestation-detail-meta-item {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 12px;
    align-items: center;
    border: 1px solid #edf2f2;
    border-radius: 8px;
    background: #fbfdfd;
    padding: 10px 12px;
}

.prestation-detail-meta-item strong {
    color: #61A6AB;
    font-size: 11px;
    text-transform: uppercase;
}

.prestation-detail-meta-item span {
    color: #333333;
    font-size: 13px;
    font-weight: 700;
}

.prestation-section-hint {
    margin: -4px 0 14px;
}

.candidature-toast.cra-section-success-message {
    position: absolute;
    top: 50%;
    left: calc(100% + 12px);
    z-index: 20;
    width: max-content;
    max-width: 340px;
    box-sizing: border-box;
    margin: 0;
    animation: none;
    opacity: 1;
    transform: translateY(-50%);
    transition: opacity 0.25s ease;
    white-space: normal;
    pointer-events: none;
}

.cra-section-success-message-hide {
    opacity: 0;
}

.prestation-kpi-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.prestation-finance-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 18px;
    margin-bottom: 10px;
}

.prestation-finance-heading .process-title {
    margin-bottom: 0;
}

.prestation-finance-heading-main {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.prestation-finance-year-filter {
    display: flex;
    align-items: center;
    gap: 8px;
}

.prestation-finance-year-filter label {
    color: #666666;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.prestation-finance-year-filter select {
    min-width: 100px;
    border: 1px solid #d9e3e4;
    border-radius: 6px;
    background: #ffffff;
    color: #2f6f73;
    padding: 7px 30px 7px 10px;
    font-size: 12px;
    font-weight: 700;
}

.prestation-finance-table {
    display: grid;
    gap: 8px;
}

.prestation-finance-row[hidden] {
    display: none;
}

.prestation-finance-row {
    display: grid;
    grid-template-columns: 1.3fr 0.6fr repeat(4, 1fr) 0.65fr;
    gap: 10px;
    align-items: center;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    background: #ffffff;
    padding: 12px;
    color: #333333;
    font-size: 12px;
}

.prestation-finance-row.head {
    background: #f5f7f8;
    color: #666666;
    font-weight: 700;
}

.prestation-cra-edit-row {
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.prestation-cra-edit-row:hover,
.prestation-cra-edit-row:focus-visible,
.prestation-cra-edit-row-highlight {
    outline: none;
    border-color: #61A6AB;
    background: #f8fcfc;
    box-shadow: 0 5px 16px rgba(97,166,171,0.14);
    transform: translateY(-1px);
}

.prestation-cra-edit-row-highlight {
    animation: prestation-cra-row-highlight 0.6s ease-in-out 2;
}

@keyframes prestation-cra-row-highlight {
    50% {
        border-color: #2f6f73;
        background: #eaf7f7;
        box-shadow: 0 0 0 4px rgba(97,166,171,0.18);
    }
}

.prestation-finance-period {
    display: grid;
    gap: 3px;
}

.prestation-finance-period strong {
    color: #333333;
    font-size: 12px;
}

.prestation-finance-period small {
    color: #2f6f73;
    font-size: 10px;
    font-weight: 700;
}

.prestation-note-pill {
    position: relative;
    display: inline-flex;
    align-items: center;
    border: 1px solid #cde8e9;
    border-radius: 99px;
    background: #f6fbfb;
    color: #2f6f73;
    padding: 5px 10px;
    font-size: 11px;
    font-weight: 700;
    cursor: default;
}

.prestation-note-popover {
    position: absolute;
    right: 0;
    bottom: calc(100% + 8px);
    z-index: 5;
    display: none;
    width: 260px;
    max-width: 70vw;
    border: 1px solid #dfe8e8;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(0,0,0,0.14);
    color: #333333;
    padding: 12px;
    line-height: 1.45;
    text-align: left;
    white-space: normal;
}

.prestation-note-pill:hover .prestation-note-popover,
.prestation-note-pill:focus .prestation-note-popover {
    display: block;
}

.prestation-note-empty {
    color: #aaaaaa;
}

.form-field select,
.form-field textarea {
    border: 1px solid #dddddd;
    border-radius: 6px;
    padding: 11px 12px;
    font-size: 13px;
    font-family: Arial, sans-serif;
    background: #ffffff;
    box-sizing: border-box;
}

.form-field select:focus,
.form-field textarea:focus {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 2px rgba(97,166,171,0.15);
}

@media (max-width: 900px) {
    .prestation-kpi-grid,
    .finance-kpi-grid,
    .finance-analysis-grid,
    .finance-ranking-grid,
    .contract-layout-grid,
    .prestation-card-metrics,
    .prestation-info-grid,
    .prestation-montage-grid,
    .prestation-create-grid,
    .prestation-detail-grid,
    .prestation-finance-row,
    .finance-table-row,
    .finance-insight-item {
        grid-template-columns: 1fr;
    }

    .prestation-actions-row,
    .prestation-card-main,
    .prestation-card-footer,
    .contract-filter-form,
    .contract-prestation-head,
    .contract-card-main,
    .contract-actions,
    .contract-status-form,
    .client-card-meta-row,
    .prestation-consultant-results-title {
        flex-direction: column;
        align-items: stretch;
    }

    .prestation-consultant-row {
        grid-template-columns: 1fr;
    }

    .finance-year-form {
        align-items: stretch;
        flex-direction: column;
    }

    .finance-year-form .form-field {
        width: 100%;
    }
}

.appstore-modal-text {
    color: #555555;
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 16px;
}

.appstore-modal-invoice {
    display: grid;
    gap: 12px;
    margin-bottom: 16px;
}

.appstore-modal-invoice[hidden] {
    display: none;
}

.appstore-modal-field label {
    display: block;
    margin-bottom: 6px;
    color: #333333;
    font-size: 12px;
    font-weight: 700;
}

.appstore-modal-field + .appstore-modal-field {
    margin-top: 14px;
}

.appstore-modal-field .input-field {
    width: 100%;
    min-height: 42px;
    border: 1px solid #dddddd;
    border-radius: 8px;
    background: #ffffff;
    padding: 9px 12px;
    color: #333333;
    font-size: 12px;
    box-sizing: border-box;
}

.appstore-modal-field .input-field:focus {
    outline: none;
    border-color: #61A6AB;
    box-shadow: 0 0 0 3px rgba(97,166,171,0.14);
}

.appstore-modal-field select.input-field {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 36px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%234f8f94' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 13px center;
    background-size: 12px 8px;
}

.appstore-modal-promo-status {
    min-height: 16px;
    margin-top: 6px;
    font-size: 11px;
    font-weight: 700;
}

.appstore-modal-promo-status.valid {
    color: #2f6f3d;
}

.appstore-modal-promo-status.invalid {
    color: #a65f00;
}

.appstore-modal-bill {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid #dfe6e8;
    border-radius: 8px;
    background: #f8fbfb;
}

.appstore-modal-bill div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #555555;
    font-size: 12px;
}

.appstore-modal-bill div[hidden] {
    display: none;
}

.appstore-modal-bill strong {
    color: #222222;
}

.appstore-modal-bill .feature-activation-annual-benefit {
    color: #2f6f73;
}

.appstore-modal-bill .feature-activation-annual-benefit strong {
    color: #2f6f73;
}

.appstore-modal-bill-total {
    margin-top: 4px;
    padding-top: 8px;
    border-top: 1px solid #dfe6e8;
    color: #2f6f73 !important;
    font-weight: 700;
}

.appstore-modal-bill-total strong {
    color: #2f6f73;
    font-size: 15px;
    text-align: right;
}

.appstore-modal-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    background: #f8fbfb;
    border: 1px solid #dfe6e8;
    border-radius: 8px;
    color: #444444;
    font-size: 12px;
    line-height: 1.5;
    text-align: left;
    cursor: pointer;
}

.appstore-modal-check span {
    flex: 1;
}

.appstore-modal-check input {
    margin-top: 3px;
    cursor: pointer;
}

.appstore-modal-check a {
    color: #2f6f73;
    font-weight: 700;
    cursor: pointer;
}

.appstore-modal-check + .appstore-modal-check {
    margin-top: 8px;
}

.legal-acceptance-box {
    margin: 18px 0 0;
}

.appstore-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.appstore-modal-actions .mini-button:disabled,
.appstore-modal-actions .submit-button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.candidature-duplicate-modal {
    border-top: 5px solid #d9613c;
    box-shadow: 0 24px 70px rgba(109, 37, 18, .25);
}

.candidature-duplicate-modal .candidature-duplicate-title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #a83e22;
}

.candidature-duplicate-icon {
    display: inline-flex;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border: 1px solid #efb29e;
    border-radius: 50%;
    background: #fff0ea;
    color: #c44e2d;
    font-size: 19px;
    font-weight: 900;
    line-height: 1;
}

.candidature-duplicate-modal .appstore-modal-text {
    padding: 10px 12px;
    border-left: 3px solid #e58a69;
    border-radius: 6px;
    background: #fff8f5;
    color: #60382d;
}

.candidature-duplicate-modal .appstore-modal-close {
    color: #a83e22;
}

.candidature-duplicate-modal .appstore-modal-actions .mini-button {
    border-color: #bd4b2c;
    background: #d9613c;
    color: #fff;
}

.candidature-duplicate-modal .appstore-modal-actions .mini-button:hover {
    border-color: #9f381e;
    background: #b94728;
}

.prestation-terminate-modal .appstore-modal {
    border-top: 4px solid #b00020;
}

.prestation-terminate-modal .appstore-modal-title {
    color: #b00020;
}

.prestation-reopen-modal .appstore-modal {
    border-top: 4px solid #61A6AB;
}

.prestation-cra-edit-modal .appstore-modal {
    width: min(620px, 100%);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    border-top: 4px solid #61A6AB;
}

.prestation-cra-period-card {
    display: inline-grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 10px;
    min-width: 205px;
    margin: 2px 0 14px;
    padding: 10px 13px;
    border: 1px solid #cbe3e5;
    border-left: 4px solid #61A6AB;
    border-radius: 8px;
    background: linear-gradient(135deg, #f7fcfc 0%, #edf7f8 100%);
    box-shadow: 0 4px 12px rgba(47,111,115,0.08);
}

.prestation-cra-period-card span {
    color: #759194;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.prestation-cra-period-card strong {
    color: #2f6f73;
    font-size: 15px;
    white-space: nowrap;
}

.prestation-cra-finance-preview {
    margin-top: 18px;
    padding: 15px;
    border: 1px solid #d4e7e8;
    border-radius: 10px;
    background: linear-gradient(145deg, #f9fdfd 0%, #eef7f8 100%);
    box-shadow: 0 7px 20px rgba(47,111,115,0.08);
}

.prestation-cra-finance-preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}

.prestation-cra-finance-preview-head > div {
    display: grid;
    gap: 2px;
}

.prestation-cra-finance-preview-head > div span {
    color: #789295;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.prestation-cra-finance-preview-head > div strong {
    color: #2f6f73;
    font-size: 15px;
}

.prestation-cra-finance-preview-tax {
    border: 1px solid #c9e1e3;
    border-radius: 99px;
    background: #ffffff;
    color: #2f6f73;
    padding: 5px 9px;
    font-size: 10px;
    font-weight: 800;
}

.prestation-cra-finance-preview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.prestation-cra-finance-preview-card {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid #e0ecec;
    border-radius: 8px;
    background: rgba(255,255,255,0.9);
}

.prestation-cra-finance-preview-card span,
.prestation-cra-finance-preview-card small {
    color: #718386;
    font-size: 9px;
    font-weight: 700;
}

.prestation-cra-finance-preview-card strong {
    color: #263f42;
    font-size: 14px;
}

.prestation-cra-finance-preview-card b {
    color: #2f6f73;
    font-size: 12px;
}

.prestation-cra-finance-preview-card small {
    margin-top: 4px;
    padding-top: 6px;
    border-top: 1px solid #edf2f2;
}

.prestation-cra-finance-preview-margin {
    border-color: #9ed5af;
    background: #edf8f1;
}

.prestation-cra-finance-preview-margin strong {
    color: #2f7d43;
    font-size: 17px;
}

.prestation-cra-edit-actions .danger {
    margin-right: auto;
}

.prestation-cra-delete-confirm-modal {
    z-index: 10010;
}

.prestation-cra-delete-confirm-modal .appstore-modal {
    border-top: 4px solid #b00020;
}

.prestation-cra-delete-confirm-modal .appstore-modal-title {
    color: #b00020;
}

.prestation-cra-period-card-danger {
    border-color: #efc5ca;
    border-left-color: #b00020;
    background: linear-gradient(135deg, #fffafa 0%, #fff1f3 100%);
}

.prestation-cra-period-card-danger strong {
    color: #9d1830;
}

.prestation-cra-duplicate-modal .appstore-modal {
    border-top: 4px solid #d99a2b;
}

.prestation-cra-duplicate-modal .appstore-modal-title {
    color: #9a6511;
}

.prestation-cra-edit-fields {
    margin-top: 18px;
}

.prestation-cra-edit-fields .note-textarea {
    min-height: 110px;
}

/* =========================
   VÉRIFICATION ENTREPRISES
   ========================= */

.company-verification-filter-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.company-verification-results-box .appstore-results-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.company-verification-results-box .appstore-results-toolbar > span {
    min-width: 0;
}

.company-verification-detail-link {
    color: #61A6AB;
    font-weight: bold;
    text-decoration: none;
}

.company-verification-detail-link:hover,
.company-verification-detail-link:focus-visible {
    text-decoration: underline;
}

.company-verification-status-tooltip {
    cursor: help;
}

.company-verification-floating-tooltip {
    position: fixed;
    z-index: 100000;
    width: max-content;
    max-width: min(280px, calc(100vw - 20px));
    box-sizing: border-box;
    border: 1px solid #315f63;
    border-radius: 7px;
    background: #244c50;
    color: #ffffff;
    padding: 8px 10px;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    white-space: normal;
    pointer-events: none;
    box-shadow: 0 7px 18px rgba(25, 61, 64, 0.24);
}

.company-verification-api-name {
    font-size: 11px;
}

.company-verification-cell-center {
    text-align: center;
}

.company-verification-retry-cell {
    text-align: center;
}

.company-verification-table tbody td,
.company-verification-collaborators-table tbody td {
    vertical-align: middle;
}

.company-verification-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.company-verification-retry-form {
    display: inline;
    margin: 0;
}

.company-verification-action-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    padding: 5px;
    font-size: 17px;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

.company-verification-action-button:hover,
.company-verification-action-button:focus-visible {
    background: #eaf4f5;
    outline: none;
}

.company-verification-retry-button {
    width: 27px;
    height: 27px;
    border: 0;
    background: transparent;
    color: inherit;
    padding: 3px;
    font-size: 12px;
    box-shadow: none;
}

.company-verification-retry-button:hover,
.company-verification-retry-button:focus-visible {
    border: 0;
    background: transparent;
    color: inherit;
    box-shadow: none;
}

.company-verification-view-button,
.company-verification-view-button:hover,
.company-verification-view-button:focus-visible {
    background: transparent;
}

.company-verification-view-button {
    width: 36px;
    height: 36px;
    padding: 4px;
    font-size: 23px;
}

.company-verification-modal .appstore-modal {
    width: min(980px, 100%);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    box-sizing: border-box;
}

.company-verification-modal .appstore-modal-close {
    border: 1px solid #4f9297;
    background: #61A6AB;
    color: #ffffff;
}

.company-verification-modal .appstore-modal-close:hover,
.company-verification-modal .appstore-modal-close:focus-visible {
    border-color: #3f7f84;
    background: #4f9297;
    color: #ffffff;
}

body.company-verification-modal-opened {
    overflow: hidden;
}

.company-verification-official-pill {
    display: inline-flex;
    align-items: center;
    border: 1px solid #8dbdc1;
    border-radius: 999px;
    background: #eaf4f5;
    color: #2f6f73;
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
}

.company-verification-official-pill:hover,
.company-verification-official-pill:focus-visible {
    background: #dceff1;
    text-decoration: underline;
}

.company-verification-information-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.company-verification-information-actions .company-verification-official-pill,
.company-verification-information-actions .company-verification-company-badge {
    margin-top: 0;
}

.company-verification-company-badge {
    color: #4b558f;
    text-decoration: none;
}

.company-verification-company-badge:hover,
.company-verification-company-badge:focus-visible {
    transform: translateY(-1px);
    outline: none;
}

.company-verification-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0 22px;
}

.company-verification-detail-grid > div {
    padding: 11px 12px;
    border: 1px solid #dfe6e8;
    border-radius: 7px;
    background: #f8fbfb;
}

.company-verification-detail-grid span,
.company-verification-detail-grid strong {
    display: block;
}

.company-verification-detail-grid span {
    margin-bottom: 4px;
    color: #777777;
    font-size: 11px;
}

.company-verification-detail-grid strong {
    color: #222222;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.company-verification-detail-wide {
    grid-column: 1 / -1;
}

.company-verification-api-section {
    margin: 0 0 22px;
    padding: 15px;
    border: 1px solid #cfe1e3;
    border-radius: 9px;
    background: #f7fbfb;
}

.company-verification-section-title {
    margin-bottom: 12px;
    color: #2f6f73;
    font-size: 14px;
    font-weight: 700;
}

.company-verification-activity-grid {
    display: grid;
    grid-template-columns: minmax(140px, 0.35fr) minmax(0, 1fr);
    gap: 10px;
}

.company-verification-activity-grid > div {
    padding: 10px 11px;
    border: 1px solid #dfe6e8;
    border-radius: 7px;
    background: #ffffff;
}

.company-verification-activity-grid span,
.company-verification-activity-grid strong {
    display: block;
}

.company-verification-activity-grid span {
    margin-bottom: 4px;
    color: #777777;
    font-size: 11px;
}

.company-verification-activity-grid strong {
    color: #222222;
    font-size: 12px;
}

.company-verification-directors-table {
    min-width: 680px;
}

.company-verification-close-button {
    border-color: #4f9297 !important;
    background: #61A6AB !important;
    color: #ffffff !important;
    box-shadow: 0 3px 8px rgba(97, 166, 171, 0.24);
}

.company-verification-close-button:hover,
.company-verification-close-button:focus-visible {
    border-color: #3f7f84 !important;
    background: #4f9297 !important;
    color: #ffffff !important;
}

.company-verification-collaborators-title {
    margin-bottom: 12px;
    color: #2f6f73;
    font-size: 14px;
    font-weight: 700;
}

.company-verification-collaborators-table {
    min-width: 760px;
}

.company-verification-collaborators-table tr.company-verification-collaborator-highlight td {
    border-top-color: #9bcdd0;
    border-bottom-color: #9bcdd0;
    background: linear-gradient(90deg, #e6f6f6 0%, #f4fbfb 100%) !important;
    color: #285f64;
}

.company-verification-collaborators-table tr.company-verification-collaborator-highlight td:first-child {
    border-left: 4px solid #61a6ab;
}

.company-verification-collaborators-table tr.company-verification-collaborator-highlight strong {
    color: #285f64;
}

.company-verification-collaborators-table tr.company-verification-collaborator-deleted td {
    border-top-color: #efc9c1;
    border-bottom-color: #efc9c1;
    background: linear-gradient(90deg, #fff1ee 0%, #fff8f6 100%) !important;
    color: #8d625d;
}

.company-verification-collaborators-table tr.company-verification-collaborator-deleted td:first-child {
    border-left: 4px solid #d66d5c;
}

.company-verification-collaborators-table tr.company-verification-collaborator-deleted strong {
    color: #9a493e;
}

.company-verification-collaborators-table tr.company-verification-collaborator-deleted {
    cursor: help;
}

.company-verification-page-detail {
    padding: 24px;
}

.company-verification-page-detail .appstore-modal-title,
.company-verification-page-detail .appstore-modal-feature {
    text-align: center;
}

.company-verification-page-detail .company-verification-official-pill {
    margin-top: 12px;
}

.company-verification-delete-heading,
.company-verification-delete-cell {
    text-align: center !important;
}

.company-verification-delete-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff3f2;
    font-size: 17px;
    text-decoration: none;
    transition: transform 0.15s ease, background 0.15s ease;
}

.company-verification-delete-link:hover,
.company-verification-delete-link:focus-visible {
    background: #ffe4e1;
    transform: translateY(-1px);
    outline: none;
}

.company-verification-deleted-indicator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    box-sizing: border-box;
    border: 1px solid #efc1b8;
    border-radius: 50%;
    background: #fff1ee;
    font-size: 16px;
    line-height: 1;
    cursor: not-allowed;
}

/* =========================
   FICHE ENTREPRISE SUPER ADMIN
   ========================= */

.company-admin-detail-header {
    position: relative;
    overflow: hidden;
    border-bottom-color: #4f9fa4;
    background:
        radial-gradient(circle at 92% 20%, rgba(97, 166, 171, 0.2), transparent 28%),
        linear-gradient(135deg, #f7fcfc 0%, #eef8f8 55%, #ffffff 100%);
}

.company-admin-detail-header::after {
    content: "";
    position: absolute;
    right: -36px;
    bottom: -62px;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(97, 166, 171, 0.2);
    border-radius: 50%;
}

.company-admin-detail-header.is-deleted {
    border-bottom-color: #d85b43;
    background:
        radial-gradient(circle at 92% 20%, rgba(216, 91, 67, 0.24), transparent 30%),
        linear-gradient(135deg, #fff2ee 0%, #ffe5dc 55%, #fff9f6 100%);
}

.company-admin-detail-header.is-deleted::after {
    border-color: rgba(216, 91, 67, 0.28);
}

.company-admin-detail-header.is-deleted .company-admin-detail-eyebrow {
    color: #b44734;
}

.company-admin-detail-deleted-alert {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 0 auto 10px;
    padding: 7px 13px;
    border: 1px solid rgba(190, 63, 42, 0.35);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.84);
    color: #b53f2c;
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(158, 52, 34, 0.13);
}

.company-admin-detail-eyebrow {
    margin-bottom: 8px;
    color: #4f9297;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.company-admin-detail-meta {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 15px;
}

.company-admin-detail-meta span {
    border: 1px solid #c7e0e2;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.85);
    color: #3b7377;
    padding: 6px 11px;
    font-size: 11px;
    font-weight: 700;
}

.company-admin-detail-meta .company-admin-detail-status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    box-sizing: border-box;
    padding: 5px 11px;
    line-height: 1.2;
    white-space: nowrap;
}

.company-admin-kpi-layout {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 20px 0;
}

.company-admin-kpi-panel {
    position: relative;
    display: grid;
    grid-template-rows: auto 32px auto auto minmax(15px, 1fr) auto;
    align-items: start;
    min-width: 0;
    min-height: 215px;
    box-sizing: border-box;
    border: 1px solid #d8e7e8;
    border-top: 4px solid #61a6ab;
    border-radius: 13px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbfb 100%);
    padding: 18px;
    color: #222222;
    text-align: left;
    box-shadow: 0 8px 22px rgba(46, 91, 95, 0.08);
}

.company-admin-kpi-panel-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin-bottom: 14px;
    border-radius: 10px;
    background: #eaf5f5;
    font-size: 18px;
}

.company-admin-kpi-panel-title,
.company-admin-kpi-main,
.company-admin-kpi-caption {
    display: block;
}

.company-admin-kpi-panel-title {
    min-height: 32px;
    color: #3f7377;
    font-size: 12px;
    font-weight: 800;
}

.company-admin-kpi-main {
    margin: 7px 0 1px;
    color: #183f43;
    font-size: 30px;
    line-height: 1;
}

.company-admin-kpi-caption {
    color: #7b8788;
    font-size: 10px;
}

.company-admin-kpi-breakdown {
    display: grid;
    grid-row: 6;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    align-self: end;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
}

.company-admin-kpi-breakdown-single {
    grid-template-columns: 1fr;
}

.company-admin-kpi-breakdown > div {
    border-radius: 8px;
    background: #edf6f6;
    padding: 8px 9px;
}

.company-admin-kpi-breakdown strong,
.company-admin-kpi-breakdown span {
    display: block;
}

.company-admin-kpi-breakdown strong {
    color: #2f7378;
    font-size: 16px;
}

.company-admin-kpi-breakdown span {
    margin-top: 2px;
    color: #687879;
    font-size: 9px;
}

.company-admin-kpi-feature-button {
    display: grid;
    align-self: stretch;
    width: 100%;
    margin: 0;
    border-top-color: #d19a35;
    font-family: Arial, sans-serif;
    cursor: pointer;
    appearance: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.company-admin-kpi-feature-button:hover,
.company-admin-kpi-feature-button:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(46, 91, 95, 0.14);
    outline: 2px solid rgba(97, 166, 171, 0.26);
    outline-offset: 2px;
}

.company-admin-kpi-feature-button .company-admin-kpi-panel-icon {
    background: #fff6e5;
}

.company-admin-kpi-consultants-button,
.company-admin-kpi-missions-button {
    display: grid;
    width: 100%;
    margin: 0;
    border-top-color: #d19a35;
    font-family: Arial, sans-serif;
    cursor: pointer;
    appearance: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.company-admin-kpi-consultants-button:hover,
.company-admin-kpi-consultants-button:focus-visible,
.company-admin-kpi-missions-button:hover,
.company-admin-kpi-missions-button:focus-visible {
    transform: translateY(-2px);
    border-top-color: #d19a35;
    box-shadow: 0 12px 28px rgba(46, 91, 95, 0.14);
    outline: 2px solid rgba(97, 166, 171, 0.26);
    outline-offset: 2px;
}

.company-admin-kpi-consultants-button .company-admin-kpi-breakdown > span,
.company-admin-kpi-missions-button .company-admin-kpi-breakdown > span,
.company-admin-kpi-feature-button .company-admin-kpi-breakdown > span {
    border-radius: 8px;
    background: #edf6f6;
    padding: 8px 9px;
}

.company-admin-kpi-feature-button .company-admin-kpi-breakdown {
    width: 100%;
}

.company-admin-kpi-breakdown > div,
.company-admin-kpi-breakdown > span {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 48px;
    box-sizing: border-box;
    margin-top: 0;
}

.company-consultant-modal {
    width: min(1080px, calc(100% - 32px));
}

body.company-consultant-modal-opened {
    overflow: hidden;
}

.company-consultant-results {
    overflow-x: hidden;
}

.company-consultant-result {
    --company-consultant-action-width: 92px;
    grid-template-columns: minmax(70px, .72fr) minmax(70px, .72fr) minmax(180px, 1.45fr) minmax(58px, .55fr) minmax(72px, .62fr) var(--company-consultant-action-width);
    position: relative;
    cursor: default;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.company-consultant-result:not(.mission-consultant-result-head):hover,
.company-consultant-result:not(.mission-consultant-result-head):focus-within,
.company-consultant-result:not(.mission-consultant-result-head):focus {
    z-index: 2;
    border-color: #61a6ab;
    background: #f8fcfc;
    box-shadow: 0 8px 20px rgba(49, 94, 99, .12);
}

.company-consultant-result > span:not(.company-consultant-contact-popover) {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.company-consultant-result:focus-visible {
    border-color: #61a6ab;
    outline: 2px solid rgba(97, 166, 171, 0.2);
    outline-offset: 1px;
}

.company-consultant-actions {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    overflow: visible !important;
}

.company-consultant-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 18px;
    line-height: 1;
    text-decoration: none;
    transition: transform .16s ease, filter .16s ease;
}

.company-consultant-action:hover,
.company-consultant-action:focus-visible {
    transform: translateY(-1px) scale(1.08);
    filter: drop-shadow(0 3px 4px rgba(49, 94, 99, .18));
    outline: 2px solid rgba(97, 166, 171, .28);
    outline-offset: 2px;
}

.company-consultant-no-action {
    color: #9aa8aa !important;
    font-weight: 600 !important;
}

.company-consultant-result > .company-consultant-contact-popover {
    display: none;
    position: absolute;
    z-index: 5;
    top: 50%;
    right: calc(22px + var(--company-consultant-action-width));
    left: 12px;
    transform: translateY(-50%);
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 18px;
    box-sizing: border-box;
    margin: 0;
    padding: 9px 11px;
    border: 1px solid #cde2e3;
    border-radius: 8px;
    background: linear-gradient(135deg, #eaf6f6, #f8fcfc);
    color: #315e63;
    font-size: 11px;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(49, 94, 99, .18), inset 0 1px 0 rgba(255, 255, 255, .72);
}

.company-consultant-result:not(.mission-consultant-result-head):hover > .company-consultant-contact-popover {
    display: flex;
}

.admin-recent-consultant-filter-grid {
    grid-template-columns: minmax(0, 1.45fr) repeat(3, minmax(0, 1fr));
}

.admin-recent-filter-submit-zone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.admin-recent-filter-submit-zone .submit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 39px;
    margin: 0;
    padding: 0 22px;
}

.admin-recent-consultant-analytics-box {
    display: grid;
    gap: 20px;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    scroll-margin-top: 16px;
}

.admin-recent-consultant-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.admin-recent-consultant-overview-kpi-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    box-sizing: border-box;
    width: calc(50% - 6px);
    max-width: 100%;
    min-width: 0;
    margin: 0 auto;
}

.admin-recent-consultant-kpi {
    position: relative;
    overflow: hidden;
    min-width: 0;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: 17px 18px;
    border: 1px solid #bcdfe1;
    border-radius: 12px;
    background: linear-gradient(145deg, #f1fbfb 0%, #ffffff 72%);
    box-shadow: 0 7px 18px rgba(52, 109, 113, 0.07);
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.admin-recent-consultant-kpi:hover,
.admin-recent-consultant-kpi:focus-visible {
    border-color: #72b8bc;
    box-shadow: 0 9px 21px rgba(52, 109, 113, 0.12);
    transform: translateY(-1px);
}

.admin-recent-consultant-kpi.is-static {
    cursor: default;
}

.admin-recent-consultant-kpi.is-static:hover {
    border-color: #bcdfe1;
    box-shadow: 0 7px 18px rgba(52, 109, 113, 0.07);
    transform: none;
}

.admin-recent-consultant-kpi.is-selected {
    border-color: #4f9da2;
    box-shadow: 0 0 0 2px rgba(97, 166, 171, 0.13), 0 9px 21px rgba(52, 109, 113, 0.11);
}

.admin-recent-consultant-kpi.is-previous-period.is-selected {
    border-color: #8e56b7;
    box-shadow: 0 0 0 2px rgba(123, 44, 191, 0.1), 0 9px 21px rgba(99, 54, 130, 0.1);
}

.admin-recent-consultant-kpi::after {
    content: "";
    position: absolute;
    top: -30px;
    right: -25px;
    width: 80px;
    height: 80px;
    border: 1px solid rgba(97, 166, 171, 0.18);
    border-radius: 50%;
}

.admin-recent-consultant-kpi.is-previous-period {
    border-color: #ddd0e7;
    background: linear-gradient(145deg, #faf7fc 0%, #ffffff 72%);
}

.admin-recent-consultant-kpi.is-previous-period::after {
    border-color: rgba(123, 44, 191, 0.14);
}

.admin-recent-consultant-kpi span,
.admin-recent-consultant-kpi strong,
.admin-recent-consultant-kpi small {
    position: relative;
    z-index: 1;
    display: block;
}

.admin-recent-consultant-kpi span {
    color: #4b6d70;
    font-size: 11px;
    font-weight: 800;
}

.admin-recent-consultant-kpi strong {
    margin-top: 8px;
    color: #286f74;
    font-size: 25px;
    line-height: 1;
}

.admin-recent-consultant-kpi.is-previous-period strong {
    color: #633682;
}

.admin-recent-consultant-kpi small {
    margin-top: 8px;
    color: #7c8d8f;
    font-size: 9px;
    line-height: 1.35;
    white-space: nowrap;
}

.admin-recent-consultant-chart-card {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    padding: 17px 18px 13px;
    border: 1px solid #dce8e9;
    border-radius: 12px;
    background: #ffffff;
}

.admin-recent-consultant-chart-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.admin-recent-consultant-chart-heading strong {
    color: #315c60;
    font-size: 12px;
}

.admin-recent-consultant-chart-heading span {
    color: #819092;
    font-size: 9px;
    font-weight: 700;
}

.admin-recent-consultant-chart-scroll {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    padding: 8px 2px 2px;
}

.admin-recent-consultant-chart {
    position: relative;
    display: grid;
    grid-template-columns: repeat(60, minmax(0, 1fr));
    align-items: end;
    gap: 2px;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 380px;
    padding: 20px 28px 0 48px;
    border-bottom: 1px solid #d7e4e5;
    background: #ffffff;
}

.admin-recent-consultant-chart-gridline {
    position: absolute;
    z-index: 1;
    right: 28px;
    left: 48px;
    height: 0;
    border-top: 1px solid rgba(97, 166, 171, 0.14);
    pointer-events: none;
}

.admin-recent-consultant-chart-gridline:first-child {
    border-top-color: rgba(72, 119, 123, 0.42);
}

.admin-recent-consultant-chart-gridline::after {
    content: attr(data-value);
    position: absolute;
    right: -24px;
    bottom: 3px;
    width: 20px;
    color: #70878a;
    font-size: 8px;
    font-weight: 700;
    line-height: 1;
    text-align: left;
}

.admin-recent-consultant-chart-column {
    position: relative;
    display: grid;
    grid-template-rows: 14px minmax(0, 1fr) 20px;
    align-items: end;
    height: 100%;
    min-width: 0;
    border-radius: 5px;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.admin-recent-consultant-chart-column.is-empty {
    cursor: default;
}

.admin-recent-consultant-chart-column.is-empty:hover .admin-recent-consultant-chart-value {
    color: transparent;
}

.admin-recent-consultant-chart-column:focus-visible {
    outline: none;
}

.admin-recent-consultant-chart-value {
    position: relative;
    z-index: 2;
    align-self: start;
    color: transparent;
    font-size: 8px;
    font-weight: 800;
    text-align: center;
    transition: color 0.15s ease;
}

.admin-recent-consultant-chart-column:hover .admin-recent-consultant-chart-value,
.admin-recent-consultant-chart-column:focus-visible .admin-recent-consultant-chart-value {
    color: #397b80;
}

.admin-recent-consultant-chart-bar {
    position: relative;
    z-index: 2;
    display: block;
    align-self: end;
    justify-self: center;
    width: 54%;
    max-width: 7px;
    height: var(--consultant-chart-height);
    min-height: 0;
    border-radius: 5px 5px 2px 2px;
    background: linear-gradient(180deg, #72c0c5 0%, #4f989e 100%);
    box-shadow: 0 3px 8px rgba(62, 125, 130, 0.13);
    transition: transform 0.15s ease, filter 0.15s ease;
}

.admin-recent-consultant-chart-column:hover .admin-recent-consultant-chart-bar,
.admin-recent-consultant-chart-column:focus-visible .admin-recent-consultant-chart-bar {
    filter: saturate(1.12);
    transform: translateY(-2px) scaleX(1.08);
    box-shadow: 0 0 0 3px rgba(97, 166, 171, 0.12), 0 5px 10px rgba(62, 125, 130, 0.22);
}

.admin-recent-consultant-chart-column.is-selected .admin-recent-consultant-chart-bar {
    background: linear-gradient(180deg, #9a66c2 0%, #70419a 100%);
}

.admin-recent-consultant-chart-average {
    position: absolute;
    z-index: 4;
    right: 28px;
    left: 48px;
    height: 0;
    border-top: 1px dashed rgba(123, 44, 191, 0.78);
    pointer-events: none;
}

.admin-recent-consultant-chart-average::after {
    content: attr(data-label);
    position: absolute;
    left: -44px;
    bottom: 4px;
    padding: 2px 5px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.92);
    color: #70419a;
    font-size: 8px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.admin-recent-consultant-chart-average-label {
    position: absolute;
    z-index: 5;
    left: 4px;
    height: 0;
    pointer-events: none;
}

.admin-recent-consultant-chart-average-label::after {
    content: attr(data-label);
    position: absolute;
    left: 0;
    bottom: 4px;
    padding: 2px 5px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.92);
    color: #70419a;
    font-size: 8px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.admin-recent-consultant-chart-average-label.is-right {
    left: auto;
    right: 0;
}

.admin-recent-consultant-chart-average-label.is-right::after {
    left: auto;
    right: 0;
}

.admin-recent-consultant-chart-average-line {
    position: absolute;
    z-index: 4;
    right: 28px;
    left: 48px;
    top: 20px;
    width: auto;
    height: 332px;
    overflow: visible;
    pointer-events: none;
}

.admin-recent-consultant-chart-average-line polyline {
    fill: none;
    stroke: rgba(123, 44, 191, 0.78);
    stroke-width: 1.4;
    stroke-dasharray: 5 4;
    vector-effect: non-scaling-stroke;
}

.admin-recent-consultant-chart-date {
    position: relative;
    z-index: 2;
    min-width: 30px;
    margin-left: -10px;
    color: #829294;
    font-size: 8px;
    line-height: 20px;
    text-align: center;
    white-space: nowrap;
}

.admin-recent-consultants-results-box {
    overflow-x: clip;
}

.admin-recent-consultant-results {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
    padding: 2px 0;
}

.admin-recent-consultant-result {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, .68fr) minmax(0, .72fr) minmax(0, 1.48fr) minmax(0, .66fr) minmax(0, .46fr) minmax(0, .54fr) minmax(0, .82fr);
    cursor: default;
}

.admin-recent-candidature-result {
    grid-template-columns: minmax(0, .68fr) minmax(0, .72fr) minmax(0, 1.48fr) minmax(0, .66fr) minmax(0, .46fr) minmax(0, .82fr);
}

.admin-recent-consultant-result.is-source-front {
    border-left-color: #a978cf;
    background: #f3e9fc;
}

.admin-recent-consultant-result.is-source-stac {
    border-left-color: #54a5aa;
    background: #e5f5f5;
}

.admin-recent-consultant-result.is-source-front:not(.mission-consultant-result-head):hover,
.admin-recent-consultant-result.is-source-front:not(.mission-consultant-result-head):focus-within,
.admin-recent-consultant-result.is-source-front:not(.mission-consultant-result-head):focus {
    background: #ecdcf9;
}

.admin-recent-consultant-result.is-source-stac:not(.mission-consultant-result-head):hover,
.admin-recent-consultant-result.is-source-stac:not(.mission-consultant-result-head):focus-within,
.admin-recent-consultant-result.is-source-stac:not(.mission-consultant-result-head):focus {
    background: #d8eeee;
}

.admin-recent-consultant-result > span:nth-child(4),
.admin-recent-consultant-result > span:nth-child(5),
.admin-recent-consultant-result > span:nth-child(6),
.admin-recent-consultant-result > span:nth-child(7) {
    justify-content: center;
    text-align: center;
}

.admin-recent-consultant-result > .company-consultant-contact-popover {
    grid-column: 1 / -1;
    right: 0;
    left: 0;
    width: auto;
    max-width: none;
}

.admin-recent-consultant-result > .company-consultant-contact-popover > span {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.admin-recent-consultant-hover-id,
.admin-recent-consultant-hover-source,
.admin-recent-consultant-hover-actions {
    flex: 0 0 auto;
}

/* L’intitulé et les actions passent ensemble à la ligne suivante si le hover doit se replier. */
.admin-recent-consultant-hover-title-actions {
    display: inline-flex;
    flex: 0 1 auto !important;
    align-items: center;
    min-width: max-content !important;
    max-width: 100%;
    gap: 8px;
    white-space: nowrap;
}

.admin-recent-consultant-hover-title {
    flex: 0 1 auto;
    white-space: nowrap;
}

.admin-recent-consultant-hover-title-actions .admin-recent-consultant-hover-actions {
    margin-left: 0;
}

.admin-recent-consultant-hover-id {
    font-weight: 800;
    color: #256f75;
}

.admin-recent-consultant-hover-source {
    padding: 4px 8px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.admin-recent-consultant-hover-source.is-source-front {
    border-color: #ddc8f5;
    background: #f4ebff;
    color: #70419a;
}

.admin-recent-consultant-hover-source.is-source-stac {
    border-color: #b9dcde;
    background: #e5f4f4;
    color: #2c7378;
}

.admin-recent-consultant-hover-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    padding-left: 14px;
    border-left: 1px solid #cde2e3;
}

@media (max-width: 800px) {
    .admin-recent-consultant-filter-grid {
        grid-template-columns: 1fr;
    }

    .admin-recent-consultant-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-recent-consultant-overview-kpi-grid {
        width: 100%;
    }

    .admin-recent-consultant-result {
        grid-template-columns: 1fr;
    }

    .admin-recent-consultant-result > .company-consultant-contact-popover {
        grid-column: 1;
        right: 0;
        left: 0;
        max-width: none;
    }
}

@media (max-width: 560px) {
    .admin-recent-consultant-kpi-grid,
    .admin-recent-consultant-overview-kpi-grid {
        grid-template-columns: 1fr;
    }

    .admin-recent-consultant-chart-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

.company-mission-modal {
    width: min(1120px, calc(100% - 32px));
}

.company-mission-filter-box {
    margin: 16px 0 18px;
    padding: 14px;
    border: 1px solid #d8e7e8;
    border-left: 4px solid #61a6ab;
    border-radius: 10px;
    background: linear-gradient(135deg, #f8fcfc 0%, #ffffff 100%);
}

.company-mission-filter-heading {
    margin-bottom: 12px;
    color: #4d8f94;
    font-size: 13px;
    font-weight: 800;
}

.company-mission-filters {
    display: grid;
    grid-template-columns: minmax(230px, 1.7fr) repeat(4, minmax(130px, 1fr));
    gap: 10px;
}

.company-mission-filter-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
}

.company-mission-results {
    overflow-x: hidden;
}

.company-mission-result {
    grid-template-columns: minmax(220px, 1.7fr) minmax(95px, .8fr) minmax(105px, .9fr) minmax(100px, .82fr) minmax(105px, .9fr) minmax(115px, .95fr) 58px;
    min-height: 66px;
    cursor: default;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.company-mission-result:not(.mission-consultant-result-head):hover {
    border-color: #61a6ab;
    background: #f8fcfc;
    box-shadow: 0 7px 18px rgba(49, 94, 99, .10);
}

.company-mission-result > span {
    min-width: 0;
}

.company-mission-result > span:not(.company-mission-main) {
    justify-content: center;
    text-align: center;
}

.company-mission-main {
    flex-direction: column;
    align-items: flex-start !important;
    justify-content: center;
}

.company-mission-main strong,
.company-mission-main small {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.company-mission-main strong {
    color: #244f53;
    font-size: 12px;
}

.company-mission-main small {
    margin-top: 4px;
    color: #7b8788;
    font-size: 9px;
    font-weight: 600;
}

.company-mission-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 25px;
    box-sizing: border-box;
    border: 1px solid #cde2e3;
    border-radius: 999px;
    padding: 4px 8px;
    background: #eef7f7;
    color: #39777c;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
}

.company-mission-status.is-finished {
    border-color: #e7c7bd;
    background: #fff3ef;
    color: #9a5044;
}

.company-mission-status.is-pending {
    border-color: #ead59d;
    background: #fff9e8;
    color: #8b6a20;
}

.company-mission-actions {
    justify-content: center;
    overflow: visible !important;
}

.company-mission-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid #cde2e3;
    border-radius: 50%;
    background: #eef8f8;
    color: #2f6f73;
    font-size: 16px;
    text-decoration: none;
    transition: transform .16s ease, box-shadow .16s ease;
}

.company-mission-actions a:hover,
.company-mission-actions a:focus-visible {
    transform: translateY(-1px) scale(1.05);
    box-shadow: 0 5px 12px rgba(49, 94, 99, .16);
    outline: 2px solid rgba(97, 166, 171, .25);
    outline-offset: 2px;
}

.company-admin-payments-box,
.company-admin-information-box {
    margin-top: 20px;
}

.company-admin-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.company-admin-section-heading small {
    border-radius: 999px;
    background: #edf6f6;
    color: #5c888b;
    padding: 5px 9px;
    font-size: 9px;
    font-weight: 700;
}

.company-admin-payment-grid {
    display: grid;
    grid-template-columns: 1.35fr repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.company-admin-payment-grid > div {
    min-width: 0;
    border: 1px solid #dbe8e9;
    border-radius: 10px;
    background: #fbfdfd;
    padding: 15px;
}

.company-admin-payment-grid span,
.company-admin-payment-grid strong {
    display: block;
}

.company-admin-payment-grid span {
    min-height: 28px;
    color: #728183;
    font-size: 10px;
}

.company-admin-payment-grid strong {
    margin-top: 8px;
    color: #285f64;
    font-size: 17px;
    white-space: nowrap;
}

.company-admin-payment-grid .company-admin-payment-primary {
    border-color: #8fc2c5;
    background: linear-gradient(135deg, #eaf6f6, #f8fcfc);
}

.company-admin-payment-grid .company-admin-payment-primary strong {
    font-size: 21px;
}

.company-feature-modal .company-feature-modal-dialog {
    width: min(1060px, calc(100% - 32px));
    max-height: calc(100vh - 36px);
    overflow-y: auto;
    box-sizing: border-box;
}

body.company-feature-modal-opened {
    overflow: hidden;
}

.company-feature-filter-box {
    margin-top: 20px;
}

.company-feature-filter-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.company-feature-results-summary {
    margin: 15px 0 10px;
    color: #658082;
    font-size: 11px;
}

.company-feature-results-summary strong {
    color: #2f7378;
}

.company-feature-list {
    display: grid;
    gap: 10px;
}

.company-feature-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 13px;
    border: 1px solid #dbe8e9;
    border-left: 4px solid #61a6ab;
    border-radius: 10px;
    background: #ffffff;
    padding: 14px;
}

.company-feature-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    overflow: hidden;
    border-radius: 10px;
    background: #edf6f6;
    font-size: 21px;
}

.company-feature-card-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.company-feature-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.company-feature-card-heading strong {
    color: #224f53;
    font-size: 14px;
}

.company-feature-card-heading span {
    border-radius: 999px;
    background: #eaf7ee;
    color: #36734a;
    padding: 4px 8px;
    font-size: 9px;
    font-weight: 800;
}

.company-feature-card p {
    margin: 6px 0 10px;
    color: #647173;
    font-size: 10px;
    line-height: 1.45;
}

.company-feature-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.company-feature-card-meta span {
    border-radius: 999px;
    background: #f0f4f4;
    color: #597072;
    padding: 4px 8px;
    font-size: 9px;
    font-weight: 700;
}

.company-feature-empty {
    border: 1px dashed #bed7d9;
    border-radius: 10px;
    background: #f8fbfb;
    color: #6d7e80;
    padding: 28px;
    text-align: center;
}

@media (max-width: 1050px) {
    .company-admin-kpi-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .company-admin-payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .company-admin-payment-grid .company-admin-payment-primary {
        grid-column: 1 / -1;
    }
}

@media (max-width: 650px) {
    .company-admin-kpi-layout,
    .company-admin-payment-grid,
    .company-feature-filter-form {
        grid-template-columns: 1fr;
    }

    .company-admin-kpi-panel {
        min-height: 0;
    }

    .company-admin-payment-grid .company-admin-payment-primary {
        grid-column: auto;
    }

    .company-feature-card {
        grid-template-columns: 1fr;
    }

    .company-feature-card-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 800px) {
    .appstore-filter-form {
        grid-template-columns: 1fr;
    }

    .appstore-top-links,
    .appstore-filter-actions,
    .appstore-modal-actions {
        justify-content: stretch;
        flex-direction: column;
    }

    .appstore-top-links .submit-button,
    .appstore-filter-actions .submit-button,
    .appstore-modal-actions .mini-button,
    .appstore-modal-actions .submit-button {
        text-align: center;
    }

    .appstore-feature-card .feature-card-top,
    .appstore-feature-card .feature-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .appstore-feature-card .feature-description,
    .appstore-feature-status,
    .appstore-feature-card .feature-actions {
        margin-left: 0;
    }
}

/* =========================
   MISSIONS PUBLIQUES
   ========================= */

.public-missions-page .dashboard-hero,
.public-mission-detail-page .dashboard-hero {
    background: #EAF7EE;
    border-color: #9ed5af;
    border-left-color: #4CAF68;
}

.public-missions-page .dashboard-hero-title,
.public-mission-detail-page .dashboard-hero-title {
    color: #2f6f3d;
}

.public-mission-login-button {
    width: auto;
    min-width: 250px;
    white-space: normal;
    text-align: center;
}

.public-mission-city {
    display: block;
    margin-top: 3px;
    color: #777777;
    font-size: 10px;
    font-weight: 600;
}

.public-mission-detail-header {
    background: #EAF7EE;
    border-bottom: 3px solid #4CAF68;
}

.public-mission-detail-top {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    position: relative;
}

.public-mission-detail-top > div:first-child {
    text-align: center;
}

.public-mission-detail-top .mission-rate-pill {
    position: absolute;
    right: 0;
}

.public-mission-description-empty {
    color: #777777;
    font-size: 13px;
}

.public-consultant-selected {
    min-height: 64px;
}

.public-picker-button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.public-position-login-row {
    text-align: right;
    margin-top: 12px;
}

.public-finance-login-note {
    margin-top: 12px;
    color: #666666;
    font-size: 11px;
    line-height: 1.5;
}

.public-mission-detail-page .mission-position-form-box textarea,
.public-mission-detail-page .mission-position-form-box .note-textarea {
    min-height: 104px;
}

.public-menu-v2 {
    width: 900px;
    max-width: calc(100% - 24px);
    margin-top: 25px;
}

.public-menu-v2 .sa-menu-v2-left {
    flex: 1 1 auto;
    min-width: 0;
}

.public-menu-search {
    flex: 0 0 auto;
    max-width: none;
}

.public-menu-search input {
    margin-left: 5px;
    box-sizing: border-box;
}

.public-menu-v2 .sa-menu-v2-links {
    gap: 4px;
    margin-left: 0;
    transform: none;
}

.public-menu-v2 .sa-menu-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    box-sizing: border-box;
    padding: 0 7px;
    line-height: 1;
    white-space: nowrap;
}

.public-menu-store-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.public-menu-v2 .sa-menu-store-icon {
    width: 24px;
    height: 24px;
    margin-left: 0;
}

.public-menu-v2 .sa-menu-link:hover,
.public-menu-v2 .sa-menu-link:focus-visible,
.public-menu-v2 .sa-menu-link.active {
    outline: none;
    background: #EAF4F5;
    color: #2f6f73;
    box-shadow: inset 0 0 0 1px rgba(97,166,171,0.22);
}

.public-menu-actions {
    gap: 5px;
    flex-shrink: 0;
}

.public-menu-actions .mini-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    box-sizing: border-box;
    padding: 7px 7px;
    font-size: 10px;
    white-space: nowrap;
}

.public-menu-secondary {
    border: 1px solid #b9dadd;
    background: #ffffff;
    color: #2f6f73 !important;
}

.public-menu-secondary:hover,
.public-menu-secondary:focus-visible {
    outline: none;
    border-color: #61A6AB;
    background: #f3fafa;
    color: #2f6f73 !important;
    box-shadow: 0 0 0 2px rgba(97,166,171,0.13);
}

.public-menu-primary {
    border: 1px solid #61A6AB;
    background: #61A6AB;
    color: #ffffff !important;
}

.public-menu-primary:hover,
.public-menu-primary:focus-visible {
    outline: none;
    border-color: #4f969b;
    background: #4f969b;
    box-shadow: 0 0 0 2px rgba(97,166,171,0.15);
}

.public-store-header-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
}

.public-store-intro {
    background: #f8fbfb;
}

.public-feature-card {
    position: relative;
}

.public-feature-card .appstore-feature-image::after,
.public-feature-card .appstore-feature-icon::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.28), rgba(97,166,171,0));
    opacity: 0;
    transition: opacity 0.22s ease;
    pointer-events: none;
}

.public-feature-card:hover .appstore-feature-image::after,
.public-feature-card:hover .appstore-feature-icon::after {
    opacity: 1;
}

.public-feature-required {
    display: inline-block;
    margin-top: 14px;
    padding: 8px 12px;
    border-radius: 8px;
    background: #f8fbfb;
    border: 1px solid #d6e8e9;
    color: #555555;
    font-size: 12px;
}

.public-feature-subscribe-box {
    align-self: start;
}

@media (max-width: 900px) {
    .public-mission-detail-top,
    .public-missions-page .dashboard-hero,
    .public-mission-detail-page .dashboard-hero,
    .public-mission-detail-page .mission-consultant-picker,
    .public-store-header-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .public-mission-detail-top .mission-rate-pill {
        position: static;
        align-self: center;
    }

    .public-menu-v2,
    .public-menu-v2 .sa-menu-v2-left,
    .public-menu-v2 .sa-menu-v2-links,
    .public-menu-v2 .sa-menu-v2-right {
        flex-direction: row;
        align-items: center;
    }

    .public-menu-search {
        max-width: none;
        width: auto;
    }

    .public-menu-search input {
        margin-left: 0;
    }

    .public-store-filter-form {
        grid-template-columns: 1fr;
    }

    .public-mission-login-button,
    .public-picker-button,
    .public-position-login-row .submit-button {
        width: 100%;
    }

    .public-mission-detail-page .mission-position-grid,
    .public-mission-detail-page .detail-grid,
    .public-mission-detail-page .mission-info-grid-v3,
    .public-missions-page .mission-info-grid-v2 {
        grid-template-columns: 1fr;
    }

    .public-position-login-row {
        text-align: stretch;
    }
}

.consultant-detail-page .page-content > .process-box,
.consultant-detail-page .consultant-detail-main > .process-box,
.consultant-detail-page .consultant-detail-side > .process-box {
    margin-bottom: 28px;
}

.consultant-detail-page .consultant-detail-grid {
    margin-top: 34px;
}

.consultant-history-box {
    margin-top: 24px;
}

.consultant-history-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.consultant-history-item {
    border: 1px solid #e5eeee;
    border-left: 5px solid #61A6AB;
    border-radius: 8px;
    padding: 13px 15px;
    background: #f8fbfb;
}

.consultant-history-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 11px;
    color: #777777;
    margin-bottom: 7px;
}

.consultant-history-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 9px;
    font-weight: bold;
    font-size: 10px;
    color: #2d6f73;
    background: #e4f4f5;
}

.consultant-history-title {
    font-weight: bold;
    color: #222222;
    margin-bottom: 7px;
}

.consultant-history-text {
    color: #555555;
    font-size: 12px;
    line-height: 1.45;
    margin-bottom: 10px;
}

.consultant-history-creation {
    border-left-color: #61A6AB;
    background: #eef7f8;
}

.consultant-history-creation .consultant-history-badge {
    color: #2d6f73;
    background: #dff1f2;
}

.consultant-history-update {
    border-left-color: #8fa4b0;
    background: #f4f7f8;
}

.consultant-history-update .consultant-history-badge {
    color: #526873;
    background: #e6edf0;
}

.consultant-history-positionnement {
    border-left-color: #4CAF68;
    background: #eef9f1;
}

.consultant-history-positionnement .consultant-history-badge {
    color: #2f6f3d;
    background: #dff2e5;
}

.consultant-history-appel-profil {
    border-left-color: #5aa6c8;
    background: #eef8fb;
}

.consultant-history-appel-profil .consultant-history-badge {
    color: #2f6d88;
    background: #dff1f7;
}

/* Guide première connexion */
.onboarding-page {
    max-width: 1080px;
    margin-top: 34px;
}

.onboarding-header {
    background: linear-gradient(135deg, #ffffff 0%, #eef7f8 100%);
}

.onboarding-content {
    padding-top: 34px;
}

.onboarding-progress {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-bottom: 22px;
}

.onboarding-progress-dot {
    width: 11px;
    height: 11px;
    border-radius: 999px;
    background: #d7e6e8;
    border: 1px solid #c4dddf;
}

.onboarding-progress-dot.done {
    background: #61A6AB;
    border-color: #61A6AB;
}

.onboarding-progress-dot.active {
    width: 34px;
    background: #2d6f73;
    border-color: #2d6f73;
}

.onboarding-card {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    gap: 28px;
    align-items: stretch;
    border: 1px solid #d8edef;
    border-left: 5px solid #61A6AB;
    border-radius: 10px;
    background: linear-gradient(135deg, #f8fbfb 0%, #ffffff 100%);
    padding: 28px;
    min-height: 520px;
}

.onboarding-card-landscape {
    grid-template-columns: 1fr;
    min-height: 0;
}

.onboarding-card-landscape .onboarding-card-copy {
    justify-content: flex-start;
    max-width: 780px;
    margin: 0 auto;
    text-align: center;
}

.onboarding-card-landscape .onboarding-summary,
.onboarding-card-landscape .onboarding-description {
    text-align: left;
}

.onboarding-card-landscape .onboarding-step-label {
    align-self: center;
}

.onboarding-card-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.onboarding-step-label {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    border: 1px solid #d8edef;
    border-radius: 999px;
    background: #eef7f8;
    color: #2d6f73;
    font-size: 11px;
    font-weight: bold;
    padding: 7px 12px;
    margin-bottom: 18px;
    text-transform: uppercase;
}

.onboarding-card h1 {
    margin: 0 0 14px;
    font-size: 34px;
    line-height: 1.12;
    color: #111111;
}

.onboarding-summary {
    font-size: 17px;
    line-height: 1.55;
    color: #2d6f73;
    font-weight: bold;
    margin-bottom: 20px;
}

.onboarding-summary p,
.onboarding-description p {
    margin: 0 0 10px;
}

.onboarding-summary ul,
.onboarding-summary ol,
.onboarding-description ul,
.onboarding-description ol {
    margin: 8px 0 0 20px;
    padding: 0;
}

.onboarding-summary li,
.onboarding-description li {
    margin-bottom: 6px;
}

.onboarding-description {
    color: #555555;
    font-size: 14px;
    line-height: 1.75;
}

.onboarding-card-visual {
    min-height: 420px;
    border-radius: 10px;
    border: 1px solid #d8edef;
    background: #ffffff;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px;
}

.onboarding-visual-open {
    appearance: none;
    border: 0;
    background: transparent;
    cursor: zoom-in;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0;
}

.onboarding-card-landscape .onboarding-card-visual {
    aspect-ratio: 16 / 9;
    min-height: 0;
    width: 100%;
    max-width: 980px;
    max-height: 520px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 28px 36px;
}

.onboarding-card-visual img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
    filter: none;
    image-rendering: auto;
}

.onboarding-card-landscape .onboarding-card-visual img {
    width: auto;
    height: auto;
    max-width: 94%;
    max-height: 100%;
    margin: 0 auto;
}

.onboarding-image-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(17, 24, 39, 0.72);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 34px;
    box-sizing: border-box;
}

.onboarding-image-modal[hidden] {
    display: none;
}

.onboarding-image-modal-frame {
    position: relative;
    background: #ffffff;
    border: 1px solid #d8edef;
    border-radius: 10px;
    box-shadow: 0 18px 50px rgba(0,0,0,0.28);
    padding: 22px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.onboarding-image-modal-frame img {
    display: block;
    object-fit: contain;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}

.onboarding-image-modal-landscape .onboarding-image-modal-frame {
    width: min(1180px, 94vw);
    aspect-ratio: 16 / 9;
}

.onboarding-image-modal-portrait .onboarding-image-modal-frame {
    height: min(820px, 88vh);
    max-width: min(720px, 94vw);
}

.onboarding-image-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 1;
    width: 34px;
    height: 34px;
    border: 1px solid #d8edef;
    border-radius: 999px;
    background: #ffffff;
    color: #333333;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: bold;
    line-height: 0;
    padding: 0;
    box-shadow: 0 6px 16px rgba(0,0,0,0.18);
}

.onboarding-visual-placeholder {
    width: 100%;
    height: 100%;
    min-height: 420px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    background:
        linear-gradient(135deg, rgba(97, 166, 171, 0.16) 0%, rgba(244, 248, 239, 0.92) 100%);
    color: #2d6f73;
    font-weight: bold;
    font-size: 16px;
}

.onboarding-visual-placeholder img {
    width: 118px;
    height: 118px;
    object-fit: contain;
}

.onboarding-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px;
    margin-top: 28px;
}

.onboarding-actions .onboarding-action-forward {
    box-sizing: border-box;
    width: 96px;
    text-align: center;
}

.onboarding-empty {
    text-align: center;
}

.platform-error-page {
    max-width: 1080px;
    margin-top: 34px;
}

.platform-error-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 28px;
    align-items: stretch;
    border: 1px solid #d8edef;
    border-left: 5px solid #61A6AB;
    border-radius: 10px;
    background: linear-gradient(135deg, #f8fbfb 0%, #ffffff 100%);
    padding: 34px;
    min-height: 420px;
    box-sizing: border-box;
}

.platform-error-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.platform-error-label {
    margin-bottom: 18px;
}

.platform-error-card h1 {
    margin: 0 0 14px;
    font-size: 34px;
    line-height: 1.12;
    color: #111111;
}

.platform-error-intro {
    font-size: 17px;
    line-height: 1.55;
    color: #2d6f73;
    font-weight: bold;
    margin-bottom: 16px;
}

.platform-error-detail {
    color: #555555;
    font-size: 14px;
    line-height: 1.75;
    margin: 0 0 26px;
    max-width: 560px;
}

.platform-error-action {
    align-self: flex-start;
}

.platform-error-visual {
    position: relative;
    min-height: 340px;
    border-radius: 10px;
    border: 1px solid #d8edef;
    background:
        linear-gradient(135deg, rgba(97, 166, 171, 0.14) 0%, rgba(244, 248, 239, 0.95) 100%);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.platform-error-code {
    position: relative;
    z-index: 2;
    color: #2d6f73;
    font-size: 74px;
    font-weight: 800;
    letter-spacing: 0;
}

.platform-error-orbit {
    position: absolute;
    inset: 42px;
    border: 1px solid rgba(97, 166, 171, 0.34);
    border-radius: 999px;
}

.platform-error-orbit span {
    position: absolute;
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: #61A6AB;
    box-shadow: 0 8px 20px rgba(97, 166, 171, 0.24);
}

.platform-error-orbit span:nth-child(1) {
    left: 30px;
    top: 56px;
}

.platform-error-orbit span:nth-child(2) {
    right: 42px;
    top: 28px;
    background: #2d6f73;
}

.platform-error-orbit span:nth-child(3) {
    bottom: 42px;
    left: 50%;
    background: #f1c36d;
}

@media (max-width: 820px) {
    .onboarding-card {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .onboarding-card h1 {
        font-size: 28px;
    }

    .onboarding-card-visual,
    .onboarding-visual-placeholder {
        min-height: 260px;
    }

    .onboarding-card-landscape .onboarding-card-copy {
        text-align: left;
    }

    .onboarding-card-landscape .onboarding-step-label {
        align-self: flex-start;
    }

    .onboarding-card-landscape .onboarding-card-visual {
        min-height: 0;
        padding: 18px;
    }
}

.consultant-activation-reminder-modal .appstore-modal {
    max-width: 680px;
}

.consultant-activation-reminder-text ul {
    margin: 12px 0 0;
    padding-left: 20px;
}

.consultant-activation-reminder-text li {
    margin: 6px 0;
}

.consultant-activation-reminder-actions {
    gap: 12px;
    flex-wrap: wrap;
}

.consultant-activation-reminder-actions .submit-button {
    min-height: 34px;
    padding: 10px 14px;
    box-sizing: border-box;
    font-size: 12px;
    line-height: 1.2;
}
.feature-price-plans {
    display: grid;
    gap: 8px;
}

.feature-price-plans.compact {
    gap: 6px;
}

.feature-price-plan {
    border: 1px solid #d8edef;
    border-radius: 8px;
    padding: 14px;
    background: #f8fcfc;
    text-align: center;
}

.feature-price-plan.annual {
    border-color: #61A6AB;
    background: #f4fbfb;
}

.feature-price-plan.free {
    font-weight: 700;
    color: #1f6f55;
}

.feature-price-plan span,
.feature-price-plan small {
    display: block;
    color: #627084;
    font-size: 11px;
    line-height: 1.25;
    white-space: nowrap;
}

.feature-price-plan strong {
    display: block;
    margin: 4px 0;
    color: #172033;
    font-size: 22px;
    line-height: 1.2;
}

.feature-price-tag {
    color: #22777c !important;
    font-weight: 700;
}

.feature-price-alt {
    color: #627084;
    font-size: 11px;
    line-height: 1.2;
    margin: 10px 0 2px;
    text-align: center;
    white-space: nowrap;
}

.feature-billing-offer {
    align-items: center;
    background: #eaf8f3;
    border: 1px solid #b8e5d2;
    border-radius: 8px;
    color: #1f6f55;
    display: flex;
    font-weight: 800;
    justify-content: center;
    margin-bottom: 12px;
    padding: 9px 12px;
}

.feature-billing-choice {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.feature-billing-option-wrap {
    min-width: 0;
    position: relative;
}

.feature-billing-option {
    border: 1px solid #d9e0ea;
    border-radius: 8px;
    background: #ffffff;
    height: 100%;
    padding: 12px;
    text-align: left;
    cursor: pointer;
    width: 100%;
}

.feature-billing-option.active {
    border-color: #61A6AB;
    background: #f4fbfb;
    box-shadow: 0 0 0 2px rgba(97, 166, 171, 0.12);
}

.feature-billing-option:disabled,
.feature-billing-option.is-disabled {
    background: #f4f5f7;
    border-color: #e2e5e9;
    box-shadow: none;
    cursor: not-allowed;
    opacity: 0.55;
}

.feature-billing-option span,
.feature-billing-option small {
    display: block;
    color: #627084;
    font-size: 13px;
}

.feature-billing-option-head {
    align-items: baseline;
    display: flex !important;
    gap: 10px;
    justify-content: space-between;
}

.feature-billing-option-head span {
    flex-shrink: 0;
    font-weight: 800;
}

.feature-billing-option strong {
    display: block;
    color: #172033;
    font-size: 18px;
    margin: 0;
    text-align: right;
}

.feature-billing-option small {
    margin-top: 6px;
    text-align: right;
}

#featureActivationYearlyEquivalent {
    display: block;
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    line-height: 1.2;
    white-space: nowrap;
}

#featureActivationYearlyEquivalent,
.feature-annual-benefit-highlight {
    padding: 3px 6px;
    border-radius: 4px;
    background: #e7f6f1;
    color: #2f6f73;
    font-size: 12px;
    font-weight: 700;
}

.feature-annual-benefit-highlight {
    white-space: nowrap;
}

.feature-billing-tooltip {
    background: #5f4318;
    border-radius: 7px;
    bottom: calc(100% + 9px);
    box-shadow: 0 10px 24px rgba(95, 67, 24, 0.2);
    color: #ffffff;
    font-size: 12px;
    left: 50%;
    line-height: 1.4;
    max-width: 260px;
    opacity: 0;
    padding: 8px 10px;
    pointer-events: none;
    position: absolute;
    text-align: center;
    transform: translate(-50%, 4px);
    transition: opacity 0.16s ease, transform 0.16s ease;
    visibility: hidden;
    width: max-content;
    z-index: 4;
}

.feature-billing-tooltip::after {
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #5f4318;
    content: "";
    left: 50%;
    position: absolute;
    top: 100%;
    transform: translateX(-50%);
}

.feature-billing-option-wrap.is-cycle-disabled:hover .feature-billing-tooltip,
.feature-billing-option-wrap.is-cycle-disabled:focus .feature-billing-tooltip,
.feature-billing-option-wrap.is-cycle-disabled:focus-within .feature-billing-tooltip {
    opacity: 1;
    transform: translate(-50%, 0);
    visibility: visible;
}

.feature-billing-option-wrap.is-cycle-disabled:focus {
    outline: 2px solid rgba(217, 154, 43, 0.45);
    outline-offset: 3px;
    border-radius: 8px;
}

.feature-billing-cycle-notice,
.feature-upgrade-warning,
.feature-dependency-warning {
    background: linear-gradient(135deg, #fff4d8 0%, #fffaf0 100%);
    border: 1px solid #efc781;
    border-left: 4px solid #d99a2b;
    border-radius: 9px;
    color: #76531b;
    line-height: 1.45;
    padding: 12px 14px;
}

.feature-billing-cycle-notice {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin: -2px 0 14px;
}

.feature-billing-cycle-notice[hidden] {
    display: none;
}

.feature-billing-cycle-notice strong,
.feature-upgrade-warning strong,
.feature-dependency-warning > strong {
    color: #5f4318;
    font-size: 13px;
}

.feature-billing-cycle-notice span,
.feature-upgrade-warning span,
.feature-dependency-warning span {
    display: block;
    font-size: 12px;
}

.feature-upgrade-warning {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 12px 0 14px;
}

.feature-dependency-warning {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 12px 0 14px;
}

.feature-dependency-warning a {
    color: #76531b;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.feature-dependency-warning ul {
    font-size: 12px;
    line-height: 1.45;
    margin: 5px 0 0 18px;
    padding: 0;
}

.feature-dependency-warning li + li {
    margin-top: 3px;
}

.appstore-modal-check-warning {
    background: #fffaf0;
    border-color: #efc781;
}

.feature-group-activation-blocked {
    background: linear-gradient(135deg, #fff8ed 0%, #fffdf9 100%);
    border: 1px solid #efc781;
    border-left: 4px solid #d99a2b;
    border-radius: 9px;
    color: #76531b;
    display: flex;
    flex-direction: column;
    gap: 6px;
    line-height: 1.45;
    padding: 13px 14px;
}

.feature-group-activation-blocked strong {
    color: #5f4318;
    font-size: 14px;
}

.feature-group-activation-blocked span {
    font-size: 13px;
}

.feature-group-activation-blocked a {
    color: #684716;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.feature-group-activation-blocked a:hover {
    color: #9a6412;
}

.feature-renewal-note {
    align-items: center;
    border-top: 1px solid #eef1f4;
    color: #627084;
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    padding-top: 10px;
}

.feature-renewal-note span,
.feature-renewal-note small {
    display: block;
}

.feature-renewal-note small strong {
    color: #4d5a6b;
    font-weight: 800;
}

.feature-renewal-note strong {
    color: #4d5a6b;
    font-size: 13px;
    text-align: right;
}

.appstore-modal-bill-total strong small {
    color: #7a8698;
    display: block;
    font-size: 12px;
    font-weight: 600;
    margin-top: 2px;
    text-align: right;
}

.admin-price-table {
    display: grid;
    gap: 70px;
}

.admin-price-row {
    border: 1px solid #dfe8e9;
    border-left: 5px solid #61a6ab;
    border-radius: 14px;
    padding: 22px;
    background: linear-gradient(135deg, #ffffff 0%, #f7fbfb 100%);
    box-shadow: 0 10px 28px rgba(52, 91, 95, 0.09);
}

.admin-price-main,
.admin-price-current,
.admin-price-form,
.admin-price-actions {
    display: grid;
    gap: 6px;
}

.admin-price-main span,
.admin-price-current span,
.admin-price-form label {
    color: #627084;
    font-size: 13px;
}

.admin-price-form input {
    width: 140px;
}

.admin-feature-filter-box {
    margin-bottom: 26px;
}

.admin-feature-results-title {
    color: #397b80;
    font-size: 14px;
    font-weight: 800;
    margin: 8px 0 16px;
}

.admin-feature-pricing-card.is-unavailable {
    border-left-color: #9aa4b2;
    background: linear-gradient(135deg, #ffffff 0%, #f7f8fa 100%);
}

.admin-feature-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e7eeee;
}

.admin-feature-identity {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    min-width: 0;
}

.admin-feature-logo {
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(97, 166, 171, 0.28);
    border-radius: 13px;
    background: #ffffff;
    color: #397b80;
    font-size: 23px;
    font-weight: 800;
    box-shadow: 0 6px 16px rgba(52, 91, 95, 0.10);
}

.admin-feature-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 7px;
    box-sizing: border-box;
}

.admin-feature-identity h2 {
    margin: 2px 0 7px;
    color: #24383a;
    font-size: 18px;
}

.admin-feature-identity p {
    max-width: 680px;
    margin: 0;
    color: #697779;
    font-size: 13px;
    line-height: 1.5;
}

.admin-feature-technical-status {
    flex: 0 0 auto;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.admin-feature-technical-status.active {
    background: #e9f7ee;
    border: 1px solid #9ed5ad;
    color: #27733d;
}

.admin-feature-technical-status.inactive {
    background: #f2f3f5;
    border: 1px solid #cdd2d9;
    color: #66707c;
}

.admin-feature-card-body {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 18px 0;
}

.admin-feature-metrics-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.admin-feature-price-preview {
    display: contents;
}

.admin-feature-price-preview > div,
.admin-feature-metric-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    min-height: 80px;
    padding: 13px;
    box-sizing: border-box;
    border: 1px solid #e3ebec;
    border-radius: 10px;
    background: #ffffff;
}

.admin-feature-price-preview span,
.admin-feature-metric-card span {
    color: #788587;
    font-size: 11px;
    font-weight: 700;
}

.admin-feature-price-preview strong,
.admin-feature-metric-card strong {
    color: #305f63;
    font-size: 14px;
}

.admin-feature-company-kpi {
    align-items: center;
    text-align: center;
    background: #edf8f8;
    border-color: #cce5e6;
}

.admin-feature-revenue-kpi {
    align-items: center;
    text-align: center;
    background: #fff9ed;
    border-color: #eadbb6;
}

.admin-feature-company-kpi strong {
    color: #397b80;
    font-size: 20px;
}

.admin-feature-revenue-kpi strong {
    color: #8a671c;
    font-size: 16px;
    white-space: nowrap;
}

.admin-feature-price-form {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 10px;
    padding: 14px;
    border: 1px solid #dce8e9;
    border-radius: 10px;
    background: #f1f9f9;
}

.admin-feature-price-form label {
    display: grid;
    gap: 6px;
    font-weight: 700;
}

.admin-feature-price-field {
    margin: 0;
}

.admin-feature-price-form input {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.admin-feature-pricing-card button.mini-button {
    border: 0;
    font-family: Arial, sans-serif;
    line-height: 1.2;
}

.admin-feature-save-button {
    min-height: 38px;
}

.admin-feature-commercial-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 15px;
    border-top: 1px solid #e7eeee;
}

.admin-feature-commercial-row > div {
    display: grid;
    gap: 3px;
}

.admin-feature-commercial-row strong {
    color: #354d50;
    font-size: 12px;
}

.admin-feature-commercial-row span {
    color: #7a8587;
    font-size: 11px;
}

.admin-feature-stop-button {
    background: #fff0f0;
    border: 1px solid #e47b7b !important;
    color: #a32424;
}

.admin-feature-stop-button:hover {
    background: #ffe2e2;
    border-color: #cf4b4b !important;
    color: #861b1b;
}

.admin-feature-empty-state {
    color: #788587;
    text-align: center;
}

/* =========================
   ADMIN CODES PROMOTIONNELS
   ========================= */

.promo-admin-create-box,
.promo-admin-filter-box {
    margin-bottom: 28px;
}

.promo-admin-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.promo-admin-topbar .back-link {
    margin-bottom: 0;
}

.promo-admin-add-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 18px;
    box-sizing: border-box;
    border: 1px solid #5da4a9;
    background: #65abb0;
    color: #ffffff;
    font-family: Arial, sans-serif;
    box-shadow: 0 6px 14px rgba(62, 125, 130, 0.18);
}

.promo-admin-add-button:hover {
    border-color: #448e94;
    background: #519ba0;
    color: #ffffff;
    transform: translateY(-1px);
}

.promo-admin-help {
    margin: -2px 0 18px;
    color: #6b797b;
    font-size: 13px;
    line-height: 1.5;
}

.promo-admin-create-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    align-items: end;
}

.promo-admin-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: end;
}

.promo-admin-create-form .form-field {
    min-width: 0;
    margin: 0;
}

.promo-admin-conditional-field[hidden] {
    display: none;
}

.promo-admin-create-form input,
.promo-admin-create-form select {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.promo-admin-note-field,
.promo-admin-create-actions {
    grid-column: 1 / -1;
}

.promo-admin-code-control {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
}

.promo-admin-code-control .mini-button {
    min-width: 104px;
    border: 1px solid #d7e1e2;
    font-family: Arial, sans-serif;
}

.promo-admin-percent-control {
    position: relative;
}

.promo-admin-percent-control input {
    padding-right: 42px;
}

.promo-admin-percent-control span {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    color: #397b80;
    font-weight: 800;
    pointer-events: none;
}

.promo-admin-create-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 2px;
}

.promo-admin-create-actions .mini-button {
    min-height: 40px;
    padding: 10px 18px;
    border: 0;
    font-family: Arial, sans-serif;
    cursor: pointer;
    box-shadow: 0 5px 12px rgba(60, 112, 116, 0.16);
}

.promo-admin-filter-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.promo-admin-filter-form input[type="number"] {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.promo-admin-filter-company-id[hidden] {
    display: none;
}

.promo-admin-results-title {
    margin: 8px 0 16px;
    color: #397b80;
    font-size: 14px;
    font-weight: 800;
}

.promo-admin-grid {
    display: grid;
    gap: 24px;
}

.promo-admin-card {
    padding: 22px;
    border: 1px solid #dfe9ea;
    border-left: 5px solid #61a6ab;
    border-radius: 14px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbfb 100%);
    box-shadow: 0 10px 26px rgba(50, 83, 86, 0.08);
}

.promo-admin-card.status-upcoming {
    border-left-color: #b59143;
}

.promo-admin-card.status-expired,
.promo-admin-card.status-revoked {
    border-left-color: #9aa4aa;
    background: linear-gradient(135deg, #ffffff 0%, #f5f6f7 100%);
}

.promo-admin-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 17px;
    border-bottom: 1px solid #e5eded;
}

.promo-admin-card-head > div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}

.promo-admin-code {
    color: #24383a;
    font-family: "Courier New", monospace;
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 0.04em;
    overflow-wrap: anywhere;
}

.promo-admin-usage-badge,
.promo-admin-status,
.promo-admin-discount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    white-space: nowrap;
}

.promo-admin-usage-badge {
    padding: 6px 9px;
    border: 1px solid #dce5e6;
    background: #ffffff;
    color: #667779;
    font-size: 10px;
    font-weight: 800;
}

.promo-admin-discount {
    padding: 7px 11px;
    background: #e7f5f5;
    color: #2f777c;
    font-size: 15px;
}

.promo-admin-status {
    padding: 7px 11px;
    font-size: 10px;
    font-weight: 800;
}

.promo-admin-status.active {
    border: 1px solid #a7d9b4;
    background: #eaf8ee;
    color: #28723e;
}

.promo-admin-status.upcoming {
    border: 1px solid #dec98e;
    background: #fff8e5;
    color: #856619;
}

.promo-admin-status.expired,
.promo-admin-status.revoked {
    border: 1px solid #ccd2d6;
    background: #f0f2f3;
    color: #69747a;
}

.promo-admin-card-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 18px 0;
}

.promo-admin-card-details > div {
    display: grid;
    align-content: center;
    gap: 5px;
    min-height: 64px;
    padding: 12px;
    box-sizing: border-box;
    border: 1px solid #e3ebec;
    border-radius: 10px;
    background: #ffffff;
}

.promo-admin-card-details span,
.promo-admin-note span {
    color: #7b888a;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.promo-admin-card-details strong {
    color: #355457;
    font-size: 12px;
    line-height: 1.4;
}

.promo-admin-note {
    padding: 13px 14px;
    border: 1px solid #d9e8e9;
    border-radius: 10px;
    background: #eef8f8;
}

.promo-admin-note p {
    margin: 5px 0 0;
    color: #4e6668;
    font-size: 12px;
    line-height: 1.5;
}

.promo-admin-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 16px;
}

.promo-admin-audit,
.promo-admin-revoked-meta {
    color: #818b8d;
    font-size: 10px;
    line-height: 1.5;
}

.promo-admin-revoke-button {
    border: 1px solid #d98686 !important;
    background: #fff0f0;
    color: #a43d3d;
    font-family: Arial, sans-serif;
    cursor: pointer;
}

.promo-admin-revoke-button:hover {
    border-color: #c96767 !important;
    background: #f9dddd;
}

.promo-admin-empty-state {
    color: #788587;
    text-align: center;
}

/* =========================
   ACTIVITÉ ADMINISTRATEUR
   ========================= */

.admin-activity-global-bar {
    width: 900px;
    min-height: 44px;
    margin: 30px auto -20px;
    padding: 7px 12px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 1px solid #ddd2eb;
    border-left: 4px solid #7b2cbf;
    background: linear-gradient(90deg, #f7f1fc 0%, #ffffff 58%, #eef8f8 100%);
    box-shadow: 0 5px 14px rgba(80, 48, 105, 0.08);
}

.admin-activity-global-label,
.admin-activity-global-links,
.admin-activity-global-links a {
    display: flex;
    align-items: center;
}

.admin-activity-global-label {
    gap: 8px;
    color: #5c347b;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
    text-decoration: none;
    transition: color 0.16s ease;
}

.admin-activity-global-label:hover,
.admin-activity-global-label:focus-visible {
    color: #7b2cbf;
    text-decoration: underline;
}

.admin-activity-global-pulse {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #43a889;
    box-shadow: 0 0 0 4px rgba(67, 168, 137, 0.13);
}

.admin-activity-global-links {
    gap: 10px;
    flex: 1;
    min-width: 0;
    justify-content: space-between;
}

.admin-activity-global-links a {
    justify-content: center;
    flex: 1 1 auto;
    min-height: 29px;
    gap: 8px;
    padding: 4px 8px;
    box-sizing: border-box;
    border: 1px solid #dce7e8;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    color: #355f63;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
    text-decoration: none;
    transition: all 0.16s ease;
}

.admin-activity-global-links a:hover {
    border-color: #8dbfc2;
    background: #edf8f8;
    color: #2f777c;
    transform: translateY(-1px);
}

.admin-activity-global-links a > span {
    min-height: 16px;
    display: inline-flex;
    align-items: center;
    line-height: 16px;
}

.admin-activity-global-links a.has-new-activity {
    border-color: #cbb2de;
    background: linear-gradient(135deg, #f5ecfb 0%, #edf8f8 100%);
    color: #5c347b;
    box-shadow: inset 3px 0 0 #7b2cbf, 0 4px 10px rgba(92, 52, 123, 0.10);
}

.admin-activity-global-links a.has-new-activity:hover,
.admin-activity-global-links a.has-new-activity:focus-visible {
    border-color: #aa82c8;
    background: linear-gradient(135deg, #eee0f8 0%, #e4f4f4 100%);
    color: #4f286d;
    box-shadow: inset 3px 0 0 #6e249f, 0 6px 13px rgba(92, 52, 123, 0.16);
    outline: none;
}

.admin-activity-global-links .admin-activity-global-control-link {
    flex: 0 0 auto;
    padding-right: 11px;
    padding-left: 11px;
    border-color: #6e4390;
    background: #6e4390;
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(92, 52, 123, 0.16);
}

.admin-activity-global-links .admin-activity-global-control-link:hover,
.admin-activity-global-links .admin-activity-global-control-link:focus-visible,
.admin-activity-global-links .admin-activity-global-control-link[aria-current="page"] {
    border-color: #5c347b;
    background: #5c347b;
    color: #ffffff;
    box-shadow: 0 6px 13px rgba(92, 52, 123, 0.23);
    outline: none;
}

.admin-activity-global-count {
    min-width: 24px;
    height: 20px;
    padding: 0 7px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #7b2cbf;
    color: #ffffff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
}

.admin-activity-global-count[hidden] {
    display: none;
}

.admin-platform-kpi-bar {
    width: 900px;
    min-height: 54px;
    margin: 24px auto -20px;
    padding: 7px 12px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    align-items: stretch;
    gap: 8px;
    border: 1px solid #d8e6e7;
    border-left: 4px solid #63afb4;
    background: linear-gradient(90deg, #eef8f8 0%, #ffffff 58%, #fffaf0 100%);
    box-shadow: 0 5px 14px rgba(48, 101, 105, 0.08);
}

.admin-platform-kpi {
    min-width: 0;
    padding: 5px 8px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border: 1px solid #deeaeb;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.86);
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.admin-platform-kpi:hover,
.admin-platform-kpi:focus-visible {
    border-color: #91c3c6;
    background: #f2fbfb;
    box-shadow: 0 6px 14px rgba(48, 101, 105, .12);
    color: inherit;
    text-decoration: none;
    transform: translateY(-1px);
    outline: none;
}

.admin-platform-kpi span {
    color: #547276;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.2;
}

.admin-platform-kpi strong {
    flex: 0 0 auto;
    color: #284f53;
    font-size: 16px;
    line-height: 1;
}

.admin-platform-kpi-link {
    padding: 6px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #63afb4;
    color: #ffffff;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.16s ease;
}

.admin-platform-kpi-link:hover {
    background: #4f9da2;
    color: #ffffff;
    transform: translateY(-1px);
}

.admin-activity-page-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.admin-activity-page-topbar .back-link {
    margin-bottom: 0;
}

.admin-activity-mark-all {
    border: 1px solid #d7e1e2;
    font-family: Arial, sans-serif;
    cursor: pointer;
    margin-top:20px;
    margin-bottom:20px;
}

.admin-activity-bulk-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin: 18px 0 28px;
}

.admin-activity-bulk-actions form {
    margin: 0;
}

.admin-activity-bulk-actions .admin-activity-mark-all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    box-sizing: border-box;
    margin: 0;
}

.admin-activity-company-verification-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    height: 34px;
    box-sizing: border-box;
    border: 1px solid #61a6ab;
    background: #61a6ab;
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 5px 13px rgba(47, 111, 115, 0.15);
}

.admin-activity-company-verification-link:hover {
    border-color: #4f9297;
    background: #4f9297;
    color: #ffffff;
    transform: translateY(-1px);
}

.admin-activity-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 22px;
    padding: 7px;
    border: 1px solid #e0e9ea;
    border-radius: 12px;
    background: #f8fbfb;
}

.admin-activity-tabs a {
    min-height: 38px;
    padding: 8px 15px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 9px;
    color: #577174;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.admin-activity-tabs a.active {
    background: #61a6ab;
    color: #ffffff;
    box-shadow: 0 5px 12px rgba(62, 125, 130, 0.18);
}

.admin-activity-tabs a span {
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #7b2cbf;
    color: #ffffff;
    font-size: 9px;
}

.admin-supervision-nav {
    display: grid;
    grid-template-columns: .75fr 1.05fr 1.05fr 1.45fr .85fr .85fr;
    gap: 8px;
    padding: 8px;
}

.admin-supervision-nav a {
    min-width: 0;
    width: 100%;
    padding-right: 8px;
    padding-left: 8px;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
}

.admin-supervision-nav a span {
    min-width: 42px;
    height: 24px;
    padding: 0 9px;
    font-size: 10px;
}

.admin-supervision-nav .admin-supervision-overview-link {
    padding-right: 12px;
    padding-left: 12px;
}

.admin-supervision-nav .admin-supervision-overview-link.active {
    border: 1px solid #d8c5e7;
    background: #f4eef8;
    color: #633682;
    box-shadow: 0 4px 10px rgba(99, 54, 130, 0.09);
}

.admin-activity-list {
    display: grid;
    gap: 80px;
}

.admin-activity-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px;
    border: 1px solid #e0e9ea;
    border-left: 4px solid #b5c7c9;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 7px 18px rgba(48, 78, 81, 0.06);
}

.admin-activity-card.is-unread {
    border-left-color: #7b2cbf;
    background: linear-gradient(100deg, #fbf7ff 0%, #ffffff 48%, #f3fbfb 100%);
    box-shadow: 0 9px 22px rgba(92, 52, 123, 0.1);
}

.admin-activity-card.is-paid-feature {
    border-left-color: #61A6AB;
    background: linear-gradient(100deg, #f4fbfb 0%, #ffffff 52%, #f8f5fc 100%);
}

.admin-activity-card.is-paid-feature.is-unread {
    border-left-color: #7b2cbf;
    box-shadow: 0 9px 22px rgba(75, 119, 123, 0.12);
}

.admin-activity-card-main {
    min-width: 0;
    flex: 1;
}

.admin-activity-card-title-row,
.admin-activity-card-meta,
.admin-activity-card-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.admin-activity-card-title-row {
    gap: 8px;
}

.admin-activity-card-title-row > strong {
    color: #263f42;
    font-size: 15px;
}

.admin-activity-origin-badge,
.admin-activity-unread-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
}

.admin-activity-origin-badge {
    padding: 5px 8px;
    border: 1px solid #b8dadd;
    background: #edf8f8;
    color: #397b80;
}

.admin-activity-origin-badge.origin-nouvelle_entreprise,
.admin-activity-origin-badge.origin-ajout_manuel {
    border-color: #cdb5e3;
    background: #f7f0fc;
    color: #71369c;
}

.admin-activity-unread-dot {
    padding: 5px 8px;
    background: #7b2cbf;
    color: #ffffff;
}

.admin-activity-card-subtitle {
    margin-top: 7px;
    color: #50676a;
    font-size: 12px;
    font-weight: 700;
}

.admin-activity-card-meta {
    gap: 8px 14px;
    margin-top: 8px;
    color: #718083;
    font-size: 10px;
}

.admin-activity-mission-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 4px 9px;
    border: 1px solid #d9e2e3;
    border-radius: 999px;
    background: #f4f7f7;
    color: #65777a;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
}

.admin-activity-mission-status.is-open {
    border-color: #126762;
    background: #187d78;
    color: #ffffff;
}

.admin-activity-mission-status.is-ended {
    border-color: #8f1d16;
    background: #b42318;
    color: #ffffff;
}

.admin-activity-mission-company-badge,
.admin-activity-paid-feature-company-badge {
    display:flex;
    align-items:center;
    margin-top: 8px;
}

.admin-activity-mission-company-badge .candidature-source-badge,
.admin-activity-paid-feature-company-badge .candidature-source-badge {
    box-shadow:0 4px 12px rgba(75,85,143,.08);
}

.admin-paid-feature-highlight-row {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 9px;
    margin-top: 10px;
}

.admin-paid-feature-highlight-row .admin-activity-paid-feature-company-badge,
.admin-paid-feature-highlight-row .admin-paid-feature-price-highlight {
    margin-top: 0;
}

.admin-paid-feature-highlight-row .admin-activity-paid-feature-company-badge {
    min-width: 0;
}

.admin-paid-feature-highlight-row .admin-activity-paid-feature-company-badge .candidature-source-badge {
    box-sizing: border-box;
    height: 100%;
}

.admin-paid-feature-price-highlight {
    display: inline-flex;
    flex-shrink: 0;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-top: 10px;
    padding: 9px 13px;
    border: 1px solid #9cd6b2;
    border-radius: 11px;
    background: linear-gradient(135deg, #eaf9ef 0%, #f8fdf9 100%);
    box-shadow: 0 5px 14px rgba(47, 111, 61, 0.1);
    color: #276c3a;
}

.admin-paid-feature-price-highlight span {
    font-size: 10px;
    font-weight: 800;
}

.admin-paid-feature-price-highlight strong {
    color: #1f7a38;
    font-size: 19px;
    font-weight: 900;
    line-height: 1;
}

.admin-paid-feature-meta strong {
    color: #315f63;
}

.admin-paid-feature-actor {
    color: #8a9698;
    font-size: 9px;
}

.admin-paid-features-detail {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid #e1e9ea;
}

.admin-paid-features-detail .process-title {
    margin-bottom: 14px;
}

.admin-paid-features-table-wrap {
    overflow-x: auto;
    border: 1px solid #dfe9ea;
    border-radius: 12px;
    background: #ffffff;
}

.admin-paid-features-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

.admin-paid-features-table th,
.admin-paid-features-table td {
    padding: 11px 13px;
    border-bottom: 1px solid #edf1f1;
    text-align: left;
    vertical-align: middle;
}

.admin-paid-features-table th {
    background: #f4f9f9;
    color: #567477;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.admin-paid-features-table tbody tr:last-child td {
    border-bottom: 0;
}

.admin-paid-features-table tr.admin-paid-feature-highlight td {
    background: #edf8f8;
    border-top: 1px solid #8fc5c8;
    border-bottom-color: #8fc5c8;
}

.admin-paid-features-table tr.admin-paid-feature-highlight td:first-child {
    border-left: 4px solid #61A6AB;
    padding-left: 9px;
}

.admin-paid-features-table tr.admin-paid-feature-highlight td:last-child {
    border-right: 1px solid #8fc5c8;
}

.admin-paid-features-table tr.admin-paid-feature-highlight strong {
    color: #285f64;
}

.admin-paid-features-table td {
    color: #5d6e70;
}

.admin-paid-features-table td strong {
    color: #2d4f52;
}

.admin-paid-feature-cycle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 9px;
    border: 1px solid #cfe2e3;
    border-radius: 999px;
    background: #f2f9f9;
    color: #39777c;
    font-weight: 800;
}

.admin-paid-features-empty {
    padding: 14px;
    border: 1px dashed #d9e4e5;
    border-radius: 10px;
    background: #fafcfc;
    color: #7c898b;
    font-size: 11px;
    text-align: center;
}

.admin-activity-card-date {
    margin-top: 9px;
    color: #919b9d;
    font-size: 9px;
}

.admin-activity-card.is-front-freelance {
    align-items: stretch;
    padding: 20px;
    border-left-color: #61A6AB;
    background: linear-gradient(105deg, #f4fbfb 0%, #ffffff 58%, #faf7fd 100%);
}

.admin-activity-card.is-front-freelance.is-unread {
    border-left-color: #7b2cbf;
}

.admin-front-freelance-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin-top: 13px;
}

.admin-front-freelance-facts > span {
    min-width: 0;
    display: grid;
    gap: 5px;
    padding: 11px 12px;
    border: 1px solid #dce9ea;
    border-radius: 10px;
    background: rgba(248, 252, 252, 0.94);
}

.admin-front-freelance-facts small {
    color: #829193;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.admin-front-freelance-facts strong {
    color: #315b5f;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.admin-front-freelance-facts > .is-date-highlighted {
    border-color: #a7d5d8;
    background: linear-gradient(135deg, #dff3f3 0%, #eef9f9 100%);
    box-shadow: 0 5px 13px rgba(59, 125, 130, .12);
}

.admin-front-freelance-facts > .is-date-highlighted small {
    color: #4b8589;
}

.admin-front-freelance-facts > .is-date-highlighted strong {
    color: #286f74;
}

.admin-front-freelance-facts > .is-date-highlighted.is-recent {
    border-color: #e6b967;
    background: linear-gradient(135deg, #fff1d5 0%, #fff8e9 100%);
    box-shadow: 0 5px 13px rgba(190, 125, 24, .16);
}

.admin-front-freelance-facts > .is-date-highlighted.is-recent small {
    color: #9a6515;
}

.admin-front-freelance-facts > .is-date-highlighted.is-recent strong {
    color: #85520a;
}

.admin-front-freelance-contact {
    padding-top: 9px;
    border-top: 1px solid #e7eeee;
}

.admin-activity-card.is-front-campaign {
    align-items: stretch;
    flex-wrap: wrap;
    gap: 15px;
    padding: 20px;
}

.admin-activity-card.is-front-campaign .admin-activity-card-main {
    flex: 1 1 100%;
}

.admin-front-campaign-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.85fr);
    gap: 14px;
    margin-top: 14px;
}

.admin-front-campaign-mission,
.admin-front-campaign-client {
    border: 1px solid #dce9ea;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.82);
}

.admin-front-campaign-mission {
    padding: 13px;
}

.admin-front-campaign-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.admin-front-campaign-facts > span {
    min-width: 0;
    padding: 10px;
    display: grid;
    gap: 4px;
    border: 1px solid #e5eeee;
    border-radius: 9px;
    background: #f8fbfb;
}

.admin-front-campaign-facts small,
.admin-front-campaign-client-content > small {
    color: #879496;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-front-campaign-facts strong {
    color: #34585c;
    font-size: 10px;
    overflow-wrap: anywhere;
}

.admin-front-campaign-assets {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.admin-front-campaign-asset {
    padding: 6px 9px;
    display: inline-flex;
    align-items: center;
    border: 1px solid #dce5e6;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
    text-decoration: none;
}

button.admin-front-campaign-asset {
    appearance: none;
    font-family: Arial, sans-serif;
    cursor: pointer;
}

.admin-front-campaign-asset.is-available {
    border-color: #aedbd1;
    background: #edf9f5;
    color: #317a69;
}

.admin-front-campaign-asset.is-missing {
    background: #f6f8f8;
    color: #849092;
}

.admin-front-campaign-asset.is-link {
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.admin-front-campaign-asset.is-link:hover {
    border-color: #62adb1;
    box-shadow: 0 6px 14px rgba(60, 125, 130, 0.14);
    transform: translateY(-1px);
}

.admin-front-campaign-client {
    padding: 13px;
    display: flex;
    align-items: flex-start;
    background: linear-gradient(135deg, #eef8f8 0%, #ffffff 78%);
}

.admin-front-campaign-client-content {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.admin-front-campaign-client-content > strong {
    color: #294b4f;
    font-size: 11px;
}

.admin-front-campaign-client-links {
    display: grid;
    gap: 3px;
}

.admin-front-campaign-client-links a,
.admin-front-campaign-client-links span {
    color: #5f7477;
    font-size: 9px;
    overflow-wrap: anywhere;
}

.admin-front-campaign-client-links a {
    font-weight: 700;
    text-decoration: none;
}

.admin-front-campaign-client-links a:hover {
    color: #3c858a;
    text-decoration: underline;
}

.admin-front-campaign-client-date {
    margin-top: 2px;
    color: #8a9698;
    font-size: 8px;
}

.admin-front-campaign-identifiers {
    margin-top: 11px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    color: #899597;
    font-size: 9px;
}

.admin-front-campaign-identifiers span:first-child {
    color: #397b80;
    font-size: 11px;
    font-weight: 800;
}

.admin-front-campaign-identifiers span:last-child {
    margin-left: auto;
    text-align: right;
    overflow-wrap: anywhere;
}

.admin-front-description-modal {
    width: min(760px, 100%);
    border-top: 4px solid #61a6ab;
}

.admin-front-description-content {
    max-height: 58vh;
    padding: 18px 20px;
    overflow-y: auto;
    box-sizing: border-box;
    border: 1px solid #dce8e9;
    border-radius: 11px;
    background: linear-gradient(135deg, #f7fbfb 0%, #ffffff 72%);
    color: #3f5558;
    font-size: 12px;
    line-height: 1.65;
}

.admin-front-description-content h1,
.admin-front-description-content h2,
.admin-front-description-content h3,
.admin-front-description-content h4,
.admin-front-description-content h5,
.admin-front-description-content h6 {
    margin: 18px 0 8px;
    color: #397b80;
    font-size: 14px;
}

.admin-front-description-content h1:first-child,
.admin-front-description-content h2:first-child,
.admin-front-description-content h3:first-child,
.admin-front-description-content h4:first-child,
.admin-front-description-content h5:first-child,
.admin-front-description-content h6:first-child {
    margin-top: 0;
}

.admin-front-description-content p {
    margin: 0 0 12px;
}

.admin-front-description-content ul,
.admin-front-description-content ol {
    margin: 8px 0 14px;
    padding-left: 22px;
}

.admin-front-description-content li + li {
    margin-top: 5px;
}

.admin-front-description-content.is-loading {
    color: #7d8c8e;
    text-align: center;
}

.admin-front-description-content.is-error {
    border-color: #e6b5bd;
    background: #fff7f8;
    color: #a12439;
}

.admin-activity-card.is-front-campaign > .admin-activity-card-actions {
    width: 100%;
    padding-top: 13px;
    border-top: 1px solid #e4ecec;
}

.admin-activity-card-actions .admin-front-campaign-reject {
    border-color: #b00020;
    box-shadow: 0 5px 12px rgba(176, 0, 32, 0.14);
}

.admin-activity-card-actions .admin-front-campaign-reject:hover {
    border-color: #8f001a;
    box-shadow: 0 7px 16px rgba(143, 0, 26, 0.2);
}

.admin-activity-card-actions {
    justify-content: flex-end;
    gap: 7px;
}

.admin-activity-card-buttons{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:7px;
}

.admin-activity-card-actions form {
    margin: 0;
}

.admin-activity-card-actions .mini-button {
    border: 1px solid transparent;
    font-family: Arial, sans-serif;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
}

.admin-activity-card-actions .mini-button.secondary {
    border-color: #d8e1e2;
    background: #ffffff;
    color: #567073;
}

.admin-activity-mission-tools{
    display:flex;
    justify-content:flex-end;
    margin:8px 0 18px;
}

.admin-activity-mission-sort-form{
    display:flex;
    align-items:center;
    gap:9px;
}

.admin-activity-mission-sort-form label{
    color:#617477;
    font-size:11px;
    font-weight:800;
}

.admin-activity-pagination{
    margin-bottom:22px;
}

.admin-activity-empty {
    color: #728083;
    text-align: center;
}

.admin-activity-detail-box {
    margin-bottom: 22px;
}

.admin-activity-detail-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e4ecec;
}

.admin-activity-detail-head .process-title {
    margin-bottom: 8px;
}

.admin-activity-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.admin-activity-detail-grid > div {
    min-height: 65px;
    padding: 12px;
    box-sizing: border-box;
    display: grid;
    align-content: center;
    gap: 5px;
    border: 1px solid #e2eaeb;
    border-radius: 10px;
    background: #ffffff;
}

.admin-activity-detail-grid span {
    color: #879193;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.admin-activity-detail-grid strong {
    color: #324d50;
    font-size: 11px;
    overflow-wrap: anywhere;
}

/* Aide au rattachement pendant l'inscription */

.inscription-attachment-help {
    margin: 16px 0 4px;
    padding: 15px 17px;
    display: flex;
    align-items: flex-start;
    gap: 13px;
    border: 1px solid #cfe4e6;
    border-left: 4px solid #61a6ab;
    border-radius: 11px;
    background: linear-gradient(115deg, #edf8f8 0%, #ffffff 70%);
    box-shadow: 0 7px 18px rgba(56, 112, 116, 0.08);
}

.inscription-attachment-help-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #dff1f2;
    font-size: 16px;
}

.inscription-attachment-help-content {
    min-width: 0;
    flex: 1;
}

.inscription-attachment-help-content > strong {
    color: #2f7479;
    font-size: 12px;
}

.inscription-attachment-help-content p {
    margin: 5px 0 10px;
    color: #617477;
    font-size: 10px;
    line-height: 1.5;
}

.inscription-attachment-help-path {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.inscription-attachment-help-path span {
    padding: 5px 9px;
    border: 1px solid #d6e6e7;
    border-radius: 999px;
    background: #ffffff;
    color: #3f686c;
    font-size: 9px;
    font-weight: 800;
}

.inscription-attachment-help-path b {
    color: #61a6ab;
    font-size: 11px;
}
.commercial-network-section {
    position: relative;
    overflow: hidden;
}

.commercial-network-section::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, #61A6AB, #8dc9cc, #7b2cbf);
}

.commercial-network-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
}

.commercial-network-heading .process-title {
    margin-bottom: 4px;
}

.commercial-network-subtitle {
    color: #668184;
    font-size: 13px;
    line-height: 1.5;
}

.commercial-network-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    box-sizing: border-box;
    border: 1px solid rgba(97, 166, 171, .28);
    border-radius: 999px;
    background: #eef8f8;
    color: #2f6f73;
    font-size: 15px;
    font-weight: 800;
}

.commercial-network-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
    gap: 16px;
}

.commercial-network-card {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    min-width: 0;
    padding: 20px;
    border: 1px solid #dce9ea;
    border-radius: 14px;
    background:
        radial-gradient(circle at top right, rgba(97, 166, 171, .10), transparent 42%),
        #ffffff;
    box-shadow: 0 10px 28px rgba(38, 76, 80, .08);
}

.commercial-network-card-featured {
    border-color: rgba(97, 166, 171, .52);
    background:
        radial-gradient(circle at top right, rgba(123, 44, 191, .08), transparent 38%),
        linear-gradient(135deg, #f4fbfb 0%, #ffffff 70%);
}

.commercial-network-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: linear-gradient(135deg, #61A6AB, #3f858a);
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
    letter-spacing: .04em;
    box-shadow: 0 8px 18px rgba(63, 133, 138, .22);
}

.commercial-network-content {
    flex: 1 1 220px;
    min-width: 0;
}

.commercial-network-eyebrow {
    margin-bottom: 4px;
    color: #60797c;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.commercial-network-name {
    color: #203f42;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.25;
}

.commercial-network-company {
    margin-top: 3px;
    color: #668184;
    font-size: 13px;
}

.commercial-network-code {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
    padding: 7px 10px;
    border: 1px solid #d9e8e9;
    border-radius: 8px;
    background: #f7fbfb;
}

.commercial-network-code span {
    color: #789093;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.commercial-network-code strong {
    color: #2f6f73;
    font-size: 12px;
    letter-spacing: .025em;
}

.commercial-network-metric {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-top: 12px;
}

.commercial-network-metric strong {
    color: #2f6f73;
    font-size: 20px;
}

.commercial-network-metric span {
    color: #71898c;
    font-size: 12px;
}

.commercial-network-action {
    margin-left: auto;
    white-space: nowrap;
}

.commercial-network-empty {
    padding: 22px;
    border: 1px dashed #cbdfe1;
    border-radius: 12px;
    background: #f8fbfb;
    color: #668184;
    font-size: 13px;
    text-align: center;
}

/* =========================================================
   PROGRAMMES D'APPORT ET COMMISSIONS
   ========================================================= */

.dashboard-referral-copy {
    border: 0;
    border-radius: 7px;
    background: #5e9fa5;
    color: #fff;
    cursor: pointer;
    font-family: inherit;
    font-size: 8px;
    font-weight: 800;
    padding: 5px 8px;
}

.dashboard-referral-finance {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr);
    gap: 20px;
    margin-bottom: 42px;
    padding: 22px 24px;
    overflow: hidden;
    border: 1px solid #d9d0f1;
    border-left: 5px solid #7359b6;
    border-radius: 16px;
    background:
        radial-gradient(circle at 88% 12%, rgba(97,166,171,.20), transparent 30%),
        linear-gradient(135deg, #f8f5ff 0%, #ffffff 66%);
    box-shadow: 0 15px 38px rgba(73, 57, 113, .10);
}

.dashboard-referral-rate-badge {
    display: inline-flex;
    align-items: center;
    margin-bottom: 12px;
    padding: 9px 14px;
    border-radius: 12px;
    background: linear-gradient(135deg, #7359b6 0%, #5e9fa5 100%);
    box-shadow: 0 7px 16px rgba(91, 77, 145, .18);
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .35px;
}

.referral-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: #7359b6;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.dashboard-referral-finance h2,
.referral-section-heading h2 {
    margin: 0;
    color: #263f43;
    font-size: 23px;
    line-height: 1.25;
}

.dashboard-referral-finance-main > p {
    max-width: 630px;
    margin: 8px 0 15px;
    color: #53676a;
    font-size: 12px;
    line-height: 1.65;
}

.dashboard-referral-finance-actions {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: nowrap;
    grid-column: 1 / -1;
}

.dashboard-referral-large-code {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 12px;
    border: 1px solid #d9d0f1;
    border-radius: 9px;
    background: #fff;
}

.dashboard-referral-large-code span {
    color: #859396;
    font-size: 8px;
    font-weight: 700;
    text-transform: uppercase;
}

.dashboard-referral-large-code strong {
    color: #4d3d7a;
    font-size: 12px;
    letter-spacing: .35px;
}

.dashboard-referral-feedback,
.referral-copy-feedback {
    display: block;
    min-height: 14px;
    margin-top: 7px;
    color: #2f6f73;
    font-size: 9px;
    font-weight: 700;
}

.dashboard-referral-finance-kpis {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    align-content: center;
}

.dashboard-referral-finance-kpis > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 62px;
    padding: 10px 12px;
    border: 1px solid rgba(97,166,171,.22);
    border-radius: 11px;
    background: rgba(255,255,255,.82);
}

.dashboard-referral-finance-kpis span {
    color: #617477;
    font-size: 9px;
    font-weight: 700;
}

.dashboard-referral-finance-kpis strong {
    display: block;
    width: 100%;
    margin-top: 6px;
    color: #2f6f73;
    font-size: 18px;
    text-align: center;
}

.dashboard-referral-details-button {
    flex: 0 0 auto;
    margin-left: auto;
    text-align: center;
    white-space: nowrap;
}

.dashboard-referral-finance > .dashboard-referral-feedback {
    grid-column: 1 / -1;
    margin-top: -14px;
}

.referral-private-header {
    background:
        radial-gradient(circle at 84% 10%, rgba(115,89,182,.15), transparent 28%),
        linear-gradient(180deg, #f4fbfc 0%, #ffffff 100%);
}

.referral-code-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr);
    gap: 34px;
    margin-bottom: 34px;
    padding: 34px;
    border: 1px solid #d9d0f1;
    border-radius: 16px;
    background: linear-gradient(135deg, #f8f5ff 0%, #ffffff 62%, #effafa 100%);
    box-shadow: 0 14px 36px rgba(73,57,113,.09);
}

.referral-code-hero h1,
.referral-public-hero h1 {
    margin: 0 0 12px;
    color: #243f43;
    font-size: 32px;
    line-height: 1.18;
}

.referral-code-hero p,
.referral-public-hero p {
    margin: 0;
    color: #53676a;
    font-size: 13px;
    line-height: 1.7;
}

.referral-code-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 22px;
    border: 1px solid rgba(97,166,171,.26);
    border-radius: 13px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 10px 24px rgba(47,111,115,.08);
}

.referral-code-panel > span {
    color: #76878a;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.referral-code-panel > strong {
    margin: 9px 0 18px;
    color: #4f3d7d;
    font-size: 17px;
    letter-spacing: .45px;
    white-space: nowrap;
}

.referral-code-actions {
    display: flex;
    gap: 9px;
}

.referral-code-actions .submit-button {
    padding: 10px 14px;
    font-size: 10px;
}

.referral-code-actions a.submit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.commercial-dashboard-code-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 18px 0 8px;
}

.commercial-dashboard-code-row > strong {
    color: #2f6f73;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: 1px;
}

.commercial-dashboard-code-row .referral-copy-button {
    padding: 10px 14px;
    font-size: 10px;
}

.referral-code-guidance {
    color: #78898c;
    font-size: 8px;
    line-height: 1.5;
}

.referral-finance-panel {
    margin-bottom: 34px;
    padding: 28px;
    border: 1px solid #dce9ea;
    border-radius: 15px;
    background: #f9fcfc;
}

.referral-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.referral-finance-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.referral-finance-card {
    display: flex;
    flex-direction: column;
    min-height: 108px;
    padding: 18px;
    border: 1px solid #dce9ea;
    border-radius: 12px;
    background: #fff;
}

.referral-finance-card-primary {
    border-color: #cfc3ec;
    background: linear-gradient(145deg, #f5f0ff 0%, #fff 100%);
}

.referral-finance-card span {
    color: #65787b;
    font-size: 10px;
    font-weight: 800;
}

.referral-finance-card strong {
    margin: 12px 0 7px;
    color: #2f6f73;
    font-size: 23px;
}

.referral-finance-card small {
    color: #899597;
    font-size: 8px;
    line-height: 1.4;
}

.referral-role-breakdown {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.referral-role-breakdown > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 16px;
    border-radius: 10px;
    background: #eef7f8;
    color: #4e676a;
    font-size: 10px;
}

.referral-role-breakdown strong {
    color: #2f6f73;
    font-size: 15px;
}

.referral-finance-note {
    margin-top: 14px;
    padding: 11px 14px;
    border-radius: 9px;
    background: #fff8e8;
    color: #795c20;
    font-size: 9px;
    line-height: 1.5;
}

.referral-result-count {
    display: grid;
    place-items: center;
    min-width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #7359b6;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.referral-results-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.referral-results-controls .result-limit-form {
    margin: 0;
}

.referral-latest-invoices-section {
    margin-bottom: 34px;
}

.referral-latest-invoices-section .referral-section-heading h2 {
    margin-bottom: 0;
}

.referral-latest-invoices-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.referral-latest-invoice-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 17px 42px 17px 18px;
    border: 1px solid #d8e5e6;
    border-left: 5px solid #97aaac;
    border-radius: 11px;
    background: #fff;
    color: #344f52;
    text-decoration: none;
    box-shadow: 0 7px 18px rgba(33,72,76,.05);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.referral-latest-invoice-card:hover {
    color: #344f52;
    transform: translateY(-2px);
    box-shadow: 0 11px 24px rgba(33,72,76,.11);
}

.referral-latest-invoice-card.status-invoice_required {
    border-color: #ead8a5;
    border-left-color: #d29a21;
    background: #fffdf7;
}

.referral-latest-invoice-card.status-invoice_uploaded {
    border-color: #b9dddf;
    border-left-color: #4f9da2;
    background: #f6fbfb;
}

.referral-latest-invoice-card.status-correction_required {
    border-color: #edc8cc;
    border-left-color: #c6505c;
    background: #fff8f8;
}

.referral-latest-invoice-card.status-paid {
    border-color: #cde5d7;
    border-left-color: #4b966a;
    background: #f7fbf8;
}

.referral-latest-invoice-card.status-cancelled {
    border-left-color: #899799;
    background: #f7f8f8;
}

.referral-latest-invoice-month {
    color: #667b7e;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.referral-latest-invoice-card strong {
    margin: 9px 0 7px;
    color: #24494c;
    font-size: 18px;
}

.referral-latest-invoice-card small {
    color: #617679;
    font-size: 10px;
    font-weight: 700;
}

.referral-latest-invoice-arrow {
    position: absolute;
    top: 50%;
    right: 17px;
    color: #5d9da1;
    font-size: 20px;
    font-weight: 800;
    transform: translateY(-50%);
}

@media (max-width: 800px) {
    .referral-latest-invoices-grid {
        grid-template-columns: 1fr;
    }
}

.referral-table-wrap {
    overflow-x: auto;
}

.referral-table {
    width: 100%;
    border-collapse: collapse;
}

.referral-company-results-table {
    table-layout: fixed;
}

.referral-company-results-table th:nth-child(1) {
    width: 18%;
}

.referral-company-results-table th:nth-child(2) {
    width: 29%;
}

.referral-company-results-table th:nth-child(3) {
    width: 17%;
}

.referral-company-results-table th:nth-child(4),
.referral-company-results-table th:nth-child(5) {
    width: 18%;
}

.referral-table th,
.referral-table td {
    padding: 13px 11px;
    border-bottom: 1px solid #e8eff0;
    text-align: left;
    font-size: 10px;
}

.referral-table th {
    color: #5b7073;
    font-size: 9px;
    text-transform: uppercase;
}

.referral-table td:last-child,
.referral-table th:last-child,
.referral-table td:nth-last-child(2),
.referral-table th:nth-last-child(2) {
    text-align: right;
}

.referral-table small {
    color: #829093;
}

.referral-rules-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.referral-rules-grid > div {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 19px;
    border: 1px solid #dce9ea;
    border-radius: 11px;
    background: #fff;
}

.referral-rules-grid strong,
.referral-rules-grid h3 {
    margin: 0;
    color: #2f6f73;
    font-size: 12px;
}

.referral-rule-title-nowrap {
    font-size: 11px !important;
    white-space: nowrap;
}

.referral-rules-grid span {
    color: #607174;
    font-size: 10px;
    line-height: 1.6;
}

.referral-rules-footnote {
    margin: 18px 0 0;
}

.referral-commercial-summary .referral-section-heading {
    margin-bottom: 0;
}

.referral-public-page {
    background: #f8fbfb;
}

.referral-public-hero {
    padding: 64px 72px;
    text-align: center;
    background:
        radial-gradient(circle at 82% 12%, rgba(115,89,182,.18), transparent 28%),
        radial-gradient(circle at 12% 88%, rgba(97,166,171,.18), transparent 30%),
        linear-gradient(180deg, #f8f5ff 0%, #ffffff 100%);
}

.referral-commercial-public-page .referral-public-hero {
    background:
        radial-gradient(circle at 82% 12%, rgba(214,164,87,.20), transparent 28%),
        radial-gradient(circle at 12% 88%, rgba(97,166,171,.18), transparent 30%),
        linear-gradient(180deg, #fffaf1 0%, #ffffff 100%);
}

.referral-public-hero h1 {
    max-width: 800px;
    margin: 20px auto 14px;
    font-size: 38px;
}

.referral-public-hero p {
    max-width: 760px;
    margin: 0 auto;
    font-size: 15px;
}

.referral-public-hero .landing-sales-actions {
    justify-content: center;
    margin-top: 26px;
}

.referral-public-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.referral-public-numbers {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.referral-public-numbers > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 26px 18px;
    border: 1px solid #d9d0f1;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(73,57,113,.06);
}

.referral-public-numbers strong {
    color: #7359b6;
    font-size: 31px;
}

.referral-public-numbers span {
    margin-top: 7px;
    color: #627477;
    font-size: 10px;
    font-weight: 700;
}

.referral-public-numbers-commercial strong {
    color: #2f6f73;
}

.referral-public-section,
.referral-public-example {
    border-radius: 14px;
    background: #fff;
}

.referral-public-example {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    align-items: center;
    gap: 30px;
    background: linear-gradient(135deg, #f4f0ff 0%, #fff 62%, #eef9fa 100%);
}

.referral-public-example h2 {
    margin: 0 0 9px;
    color: #263f43;
}

.referral-public-example p {
    color: #596d70;
    font-size: 11px;
    line-height: 1.65;
}

.referral-commercial-audience p {
    margin: 0;
    color: #596d70;
    font-size: 12px;
    line-height: 1.7;
}

.referral-public-final-cta {
    padding: 34px;
    border: 1px solid #d9d0f1;
    border-radius: 14px;
    text-align: center;
    background: linear-gradient(135deg, #f8f5ff 0%, #ffffff 62%, #eef9fa 100%);
}

.referral-public-final-cta h2 {
    margin: 8px 0;
    color: #263f43;
}

.referral-public-final-cta p {
    margin: 0;
    color: #596d70;
    font-size: 12px;
    line-height: 1.65;
}

.referral-public-final-cta .landing-sales-actions {
    justify-content: center;
    margin-top: 20px;
}

.referral-example-amount {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(73,57,113,.09);
}

.referral-example-amount strong {
    color: #7359b6;
    font-size: 29px;
}

.referral-example-amount span {
    margin-top: 6px;
    color: #68797c;
    font-size: 10px;
    font-weight: 800;
}

.landing-partner-programs {
    background: linear-gradient(135deg, #f7f4ff 0%, #ffffff 55%, #eff9fa 100%);
}

.landing-partner-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.landing-partner-card {
    display: flex;
    flex-direction: column;
    min-height: 170px;
    padding: 23px;
    border: 1px solid #d9d0f1;
    border-radius: 13px;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.landing-partner-card:hover {
    transform: translateY(-3px);
    border-color: #7359b6;
    box-shadow: 0 14px 30px rgba(73,57,113,.11);
}

.landing-partner-card-commercial {
    border-color: #c9e1e3;
}

.landing-partner-card-badge {
    align-self: flex-start;
    padding: 5px 8px;
    border-radius: 999px;
    background: #f0ebff;
    color: #604994;
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
}

.landing-partner-card h3 {
    margin: 15px 0 8px;
    color: #263f43;
    font-size: 17px;
}

.landing-partner-card p {
    flex: 1;
    margin: 0 0 15px;
    color: #5d7073;
    font-size: 10px;
    line-height: 1.6;
}

.landing-partner-card > strong {
    color: #2f6f73;
    font-size: 10px;
}

/* Administration des versements de commissions */

.commission-admin-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 34px;
}

.commission-admin-kpis > div {
    display: flex;
    flex-direction: column;
    min-height: 95px;
    padding: 18px;
    border: 1px solid #dce9ea;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(47,111,115,.06);
}

.commission-admin-kpis .is-payable {
    border-color: #8bc6ac;
    background: linear-gradient(145deg, #eef9f2 0%, #fff 100%);
}

.commission-admin-kpis span {
    color: #687b7e;
    font-size: 10px;
    font-weight: 800;
}

.commission-admin-kpis strong {
    margin-top: 11px;
    color: #2f6f73;
    font-size: 23px;
}

.commission-admin-kpis small {
    margin-top: 5px;
    color: #7d8e90;
    font-size: 8px;
}

.commission-admin-filters {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.commission-admin-filter-search {
    width: 100%;
}

.commission-admin-filter-primary {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(210px, 1fr);
    gap: 14px;
    width: 100%;
}

.commission-admin-filter-selects {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
}

@media (max-width: 900px) {
    .commission-admin-filter-primary,
    .commission-admin-filter-selects {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .commission-admin-filter-primary,
    .commission-admin-filter-selects {
        grid-template-columns: 1fr;
    }
}

.commission-admin-page .form-group {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
    margin: 0;
}

.commission-admin-page .form-group label,
.commission-admin-page .commission-monthly-action > label {
    color: #344f53;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
}

.commission-admin-page input[type="text"],
.commission-admin-page input[type="date"],
.commission-admin-page select,
.commission-admin-page textarea {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    box-sizing: border-box;
    color: #294f53;
    font: inherit;
    background: #fff;
    border: 1px solid #cfdfe1;
    border-radius: 8px;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.commission-admin-page textarea {
    min-height: 82px;
    line-height: 1.5;
    resize: vertical;
}

.commission-admin-page input[type="text"]:focus,
.commission-admin-page input[type="date"]:focus,
.commission-admin-page select:focus,
.commission-admin-page textarea:focus {
    border-color: #61a6ab;
    box-shadow: 0 0 0 3px rgba(97, 166, 171, .14);
    background: #fcffff;
}

.commission-admin-page .form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

.commission-admin-filter-actions,
.commission-admin-inline-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.commission-admin-filter-actions {
    justify-content: center;
    min-height: 44px;
}

.commission-admin-filter-actions .submit-button,
.commission-admin-inline-actions .submit-button,
.commission-admin-inline-actions .mini-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 16px;
    box-sizing: border-box;
    font-size: 11px;
    white-space: nowrap;
}

.commission-admin-table-wrap {
    overflow-x: auto;
}

.commission-admin-table {
    width: 100%;
    border-collapse: collapse;
}

.commission-admin-table th,
.commission-admin-table td {
    padding: 12px 10px;
    border-bottom: 1px solid #e8eff0;
    color: #52676a;
    font-size: 10px;
    text-align: left;
    vertical-align: middle;
}

.commission-admin-table th {
    color: #718285;
    font-size: 8px;
    letter-spacing: .35px;
    text-transform: uppercase;
}

.commission-admin-table td strong {
    color: #294f53;
}

.commission-admin-table td small {
    display: block;
    margin-top: 4px;
    color: #849396;
    font-size: 8px;
}

.commission-admin-table tr.is-selected td {
    background: #dff2f3;
    box-shadow: inset 0 1px 0 #9dcccf, inset 0 -1px 0 #9dcccf;
}

.commission-admin-table tr.is-selected td:first-child {
    box-shadow: inset 5px 0 0 #4f9ca1, inset 0 1px 0 #9dcccf, inset 0 -1px 0 #9dcccf;
}

.commission-admin-manage-cell {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
}

.commission-apporteur-name-line {
    display: flex;
    align-items: center;
    gap: 7px;
}

.commission-company-name-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: inherit;
    font-size: 15px;
    line-height: 1;
    text-decoration: none;
    transition: transform .16s ease;
}

.commission-company-name-link:hover {
    transform: translateY(-1px) scale(1.08);
    text-decoration: none;
}

.commission-admin-account-back-link {
    margin-top: 18px;
    margin-bottom: 18px;
}

.commission-monthly-section-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 16px;
    padding: 0 4px;
}

.commission-monthly-section-topbar > a:first-child {
    color: #5f9da2;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.commission-monthly-section-topbar > a:first-child:hover {
    color: #397a7f;
    text-decoration: underline;
}

.commission-company-detail-link {
    flex: 0 0 auto;
    white-space: nowrap;
}

@media (max-width: 700px) {
    .commission-monthly-section-topbar {
        align-items: flex-start;
        flex-direction: column;
    }
}

.commission-admin-action-required {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid #e8bd62;
    border-radius: 50%;
    background: #fff6df;
    font-size: 15px;
    line-height: 1;
}

.commission-admin-table th:last-child,
.commission-admin-table td:last-child {
    text-align: right;
}

.commission-admin-empty {
    padding: 28px !important;
    color: #7b8c8f !important;
    text-align: center !important;
}

.commission-type-badge,
.commission-status {
    display: inline-flex;
    padding: 5px 8px;
    border-radius: 999px;
    background: #edf6f7;
    color: #2f6f73;
    font-size: 8px;
    font-weight: 800;
    border: 1px solid transparent;
}

.commission-type-badge.is-company {
    background: #d8f0f1;
    border-color: #76b9bd;
    color: #175c61;
}

.commission-type-badge.is-commercial {
    background: #efe2fb;
    border-color: #b78bd7;
    color: #63308b;
}

.commission-status-available {
    background: #e8f7ed;
    color: #2c6b43;
}

.commission-status-pending,
.commission-status-estimated {
    background: #fff6df;
    color: #7c5a17;
}

.commission-status-held {
    background: #fff0ef;
    color: #9a3d38;
}

.commission-status-paid {
    background: #edf0ff;
    color: #56458c;
}

.commission-admin-detail {
    border-left: 4px solid #7359b6;
    background: linear-gradient(145deg, #faf8ff 0%, #fff 48%);
}

.commission-admin-detail-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.commission-admin-detail-heading h2 {
    margin: 0;
    color: #263f43;
    font-size: 22px;
}

.commission-admin-detail-heading p {
    margin: 5px 0 0;
    color: #758689;
    font-size: 10px;
}

.commission-admin-detail-heading > a {
    color: #4f8589;
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
}

.commission-lines-table input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #61A6AB;
}

.commission-admin-actions-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 22px;
}

.commission-admin-action-card {
    padding: 20px;
    border: 1px solid #dce9ea;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(47, 111, 115, .05);
}

.commission-admin-action-card h3 {
    margin: 0 0 7px;
    color: #2f6f73;
    font-size: 14px;
}

.commission-admin-action-card > p {
    margin: 0 0 16px;
    color: #758689;
    font-size: 9px;
    line-height: 1.5;
}

.commission-admin-hold-card {
    background: #fffaf8;
}

.commission-admin-hold-card .commission-admin-inline-actions {
    margin-top: 14px;
}

.commission-monthly-action {
    display: grid;
    gap: 9px;
    min-width: 235px;
}

.commission-monthly-action .submit-button,
.commission-monthly-action .mini-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    box-sizing: border-box;
}

.commission-monthly-invoices-table td {
    vertical-align: top;
}

.commission-monthly-invoices-table {
    border-collapse: separate;
    border-spacing: 0;
}

.commission-monthly-invoices-table th,
.commission-monthly-invoices-table td {
    white-space: nowrap;
}

.commission-monthly-invoices-table td:nth-child(6) {
    width: 30%;
    white-space: nowrap;
}

.commission-monthly-invoices-table td:nth-child(6) .referral-invoice-status {
    max-width: none;
    padding: 8px 11px;
    white-space: nowrap;
    font-size: 9px;
    line-height: 1.2;
}

.commission-admin-month {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 112px;
    padding: 10px 12px;
    border: 1px solid #cbdcdd;
    border-radius: 9px;
    background: #f4f8f8;
    box-shadow: 0 3px 9px rgba(38, 79, 83, .06);
    white-space: nowrap;
}

.commission-admin-month span {
    margin-bottom: 5px;
    color: #748589;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.commission-admin-month strong {
    color: #24494c;
    font-size: 15px;
    line-height: 1.2;
}

.commission-admin-month small {
    margin-top: 6px;
    color: #748589;
    font-size: 9px;
}

.commission-invoice-pdf-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}

.commission-monthly-action-row > td {
    padding: 20px 20px 26px;
    border-right: 2px solid #bfd1d3;
    border-bottom: 2px solid #bfd1d3;
    border-left: 2px solid #bfd1d3;
    border-radius: 0 0 12px 12px;
    background: #fbfdfd;
    box-shadow: 0 10px 22px rgba(38, 79, 83, .09);
    white-space: normal;
    text-align: left;
}

.commission-payout-details {
    margin: 0 0 22px;
    border: 1px solid #d5e5e6;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

.commission-payout-details summary {
    padding: 15px 18px;
    color: #2f7276;
    background: #f4f9f9;
    cursor: pointer;
    font-size: 11px;
    font-weight: 800;
    list-style-position: inside;
}

.commission-payout-details[open] summary {
    border-bottom: 1px solid #d5e5e6;
}

.commission-payout-details-table-wrap {
    overflow-x: auto;
}

.commission-payout-details-table {
    width: 100%;
    border-collapse: collapse;
}

.commission-payout-details-table th,
.commission-payout-details-table td {
    padding: 11px 14px;
    border-bottom: 1px solid #e7eeee;
    text-align: left;
    white-space: nowrap;
}

.commission-payout-details-table th {
    color: #748589;
    background: #fbfdfd;
    font-size: 9px;
    text-transform: uppercase;
}

.commission-payout-details-table td {
    color: #38585c;
    font-size: 10px;
}

.commission-payout-details-table tbody tr:last-child td {
    border-bottom: 0;
}

.commission-history-details-row > td {
    padding: 20px 20px 24px;
    border-top: 0;
    border-right: 2px solid #bfd1d3;
    border-bottom: 2px solid #bfd1d3;
    border-left: 2px solid #bfd1d3;
    border-radius: 0 0 12px 12px;
    background: #fbfdfd;
    box-shadow: 0 10px 22px rgba(38, 79, 83, .09);
    white-space: normal;
}

.commission-history-details-row .commission-payout-details {
    margin-bottom: 0;
}

.commission-history-summary-row > td {
    padding-top: 22px;
    padding-bottom: 22px;
    border-top: 2px solid #bfd1d3;
    border-bottom-color: #dce7e8;
    background: #f7fbfb;
    vertical-align: middle;
}

.commission-history-summary-row > td:first-child {
    padding-left: 16px;
    border-left: 2px solid #bfd1d3;
    border-radius: 12px 0 0 0;
}

.commission-history-summary-row > td:last-child {
    padding-right: 16px;
    border-right: 2px solid #bfd1d3;
    border-radius: 0 12px 0 0;
}

.commission-history-separator td {
    height: 42px;
    padding: 0;
    border: 0;
    background: transparent;
}

.commission-monthly-summary-row td {
    padding-top: 22px;
    padding-bottom: 22px;
    border-top: 2px solid #bfd1d3;
    border-bottom-color: #e5eeee;
    background: #f7fbfb;
}

.commission-monthly-summary-row > td {
    vertical-align: middle;
}

.commission-monthly-summary-row td:first-child {
    padding-left: 16px;
    border-left: 2px solid #bfd1d3;
    border-radius: 12px 0 0 0;
}

.commission-monthly-summary-row td:last-child {
    padding-right: 16px;
    border-right: 2px solid #bfd1d3;
    border-radius: 0 12px 0 0;
}

.commission-monthly-summary-row.status-invoice_required td {
    background: #fffaf0;
}

.commission-monthly-summary-row.status-invoice_uploaded td {
    background: #f2fafa;
}

.commission-monthly-summary-row.status-correction_required td {
    background: #fff5f6;
}

.commission-monthly-separator td {
    height: 42px;
    padding: 0;
    border: 0;
    background: transparent;
}

.commission-monthly-action-row > td,
.commission-history-details-row > td,
.commission-monthly-summary-row > td,
.commission-history-summary-row > td {
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.commission-monthly-summary-row:hover > td,
.commission-monthly-summary-row:has(+ .commission-monthly-action-row:hover) > td,
.commission-history-summary-row:hover > td,
.commission-history-summary-row:has(+ .commission-history-details-row:hover) > td {
    border-color: #69aeb3;
    background: #eef8f8;
}

.commission-monthly-summary-row:hover + .commission-monthly-action-row > td,
.commission-monthly-summary-row:has(+ .commission-monthly-action-row:hover) + .commission-monthly-action-row > td,
.commission-monthly-action-row:hover > td,
.commission-history-summary-row:hover + .commission-history-details-row > td,
.commission-history-summary-row:has(+ .commission-history-details-row:hover) + .commission-history-details-row > td,
.commission-history-details-row:hover > td {
    border-color: #69aeb3;
    box-shadow: 0 15px 30px rgba(38, 79, 83, .16);
}

.commission-monthly-action-panel {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 22px;
    padding: 24px;
    border: 1px solid #dce9ea;
    border-radius: 12px;
    background: linear-gradient(145deg, #f7fbfb 0%, #fff 68%);
}

.commission-monthly-action-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid #dce9ea;
}

.commission-monthly-action-heading strong {
    color: #2f6f73;
    font-size: 14px;
}

.commission-monthly-action-heading span {
    color: #758689;
    font-size: 10px;
}

.commission-monthly-action-content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 24px;
    min-width: 0;
}

.commission-invoice-decision-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 22px;
    border: 1px solid #dce9ea;
    border-radius: 10px;
    background: #fff;
}

.commission-invoice-decision-card.is-correction {
    background: linear-gradient(145deg, #ffe5cf 0%, #fff5eb 100%);
    border: 2px solid #c94718;
    border-left-width: 8px;
    box-shadow: 0 9px 22px rgba(160, 55, 20, .14);
}

.commission-invoice-decision-card.is-payment {
    background: linear-gradient(145deg, #dcefff 0%, #f1f8ff 100%);
    border: 2px solid #176b9b;
    border-left-width: 8px;
    box-shadow: 0 9px 22px rgba(23, 93, 135, .14);
}

.commission-invoice-decision-card.is-correction h3 {
    color: #8c2f0d;
}

.commission-invoice-decision-card.is-payment h3 {
    color: #14587f;
}

.commission-invoice-decision-type {
    align-self: flex-start;
    margin-bottom: 10px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.commission-invoice-decision-card.is-correction .commission-invoice-decision-type {
    background: #c94718;
    color: #fff;
}

.commission-invoice-decision-card.is-payment .commission-invoice-decision-type {
    background: #176b9b;
    color: #fff;
}

.commission-invoice-decision-card.is-correction .mini-button.secondary {
    border-color: #c94718;
    background: #fff;
    color: #8c2f0d;
}

.commission-invoice-decision-card.is-correction .mini-button.secondary:hover {
    background: #c94718;
    color: #fff;
}

.commission-invoice-decision-card.is-payment .submit-button {
    background: #176b9b;
}

.commission-invoice-decision-card.is-payment .submit-button:hover {
    background: #14587f;
}

.commission-invoice-decision-card h3 {
    margin: 0 0 7px;
    color: #294f53;
    font-size: 13px;
}

.commission-invoice-decision-card > p {
    min-height: 32px;
    margin: 0 0 14px;
    color: #758689;
    font-size: 9px;
    line-height: 1.5;
}

.commission-invoice-decision-card .commission-monthly-action {
    flex: 1;
    grid-template-rows: auto auto;
}

.commission-invoice-decision-card .commission-monthly-action button {
    align-self: end;
}

.commission-monthly-action-state {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 16px 18px;
    color: #526d70;
    background: #f6f9f9;
    border: 1px solid #dce9ea;
    border-radius: 10px;
}

.commission-monthly-action-state strong {
    color: #294f53;
    font-size: 12px;
}

.commission-monthly-action-state span {
    font-size: 10px;
}

.commission-monthly-action-state.is-waiting {
    background: #fff9f2;
    border-color: #eadfcf;
}

.commission-monthly-action-state.is-paid {
    background: #f2faf6;
    border-color: #cee3d7;
}

#gestion-versement {
    scroll-margin-top: 24px;
}

.commission-admin-selected-sections {
    display: flex;
    flex-direction: column;
}

.commission-admin-selected-sections .commission-monthly-processing-section {
    order: 1;
}

.commission-admin-selected-sections .commission-admin-detail {
    order: 3;
}

.commission-admin-selected-sections .commission-history-link-box {
    order: 2;
}

.commission-lines-title {
    margin-top: 22px;
}

.commission-admin-page .result-limit-form select {
    width: auto;
    min-height: 0;
    padding: 5px 10px;
    border: 1px solid #dddddd;
    border-radius: 99px;
    background: #ffffff;
    color: #555555;
    font-size: 11px;
    line-height: normal;
}

.commission-apporteurs-title {
    gap: 16px;
}

.commission-apporteurs-limit-form {
    margin-left: auto;
}

#apporteurs-results {
    scroll-margin-top: 24px;
}

.commission-lines-pagination {
    margin-left: 0;
    margin-right: 0;
}

.commission-admin-actions-grid[hidden] {
    display: none;
}

.commission-history-link-box {
    display: block;
}

.commission-history-link-box .process-title {
    margin-bottom: 6px;
}

.commission-history-link-box p {
    margin: 0;
    color: #758689;
    font-size: 10px;
}

.commission-history-link-box .submit-button {
    flex: 0 0 auto;
    margin: 0;
}

.commission-history-preview-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.commission-history-preview-grid {
    width: 100%;
    margin-top: 20px;
}

.commission-history-preview-empty {
    margin-top: 20px;
    padding: 18px;
    border: 1px dashed #cbdcdd;
    border-radius: 10px;
    color: #748589;
    background: #f8fbfb;
    font-size: 10px;
    text-align: center;
}

.commission-admin-header-badge {
    display: inline-grid;
    grid-template-columns: auto auto;
    align-items: center;
    column-gap: 9px;
    row-gap: 2px;
    max-width: calc(100% - 32px);
    margin-top: 16px;
    padding: 9px 15px;
    border: 1px solid #b9dadd;
    border-radius: 999px;
    background: linear-gradient(135deg, #f3fbfb 0%, #fff 55%, #f7f4ff 100%);
    box-shadow: 0 8px 20px rgba(47, 111, 115, .11);
    color: #294f53;
}

.commission-admin-header-badge > span {
    grid-row: 1 / 3;
    font-size: 18px;
    line-height: 1;
}

.commission-admin-header-badge strong {
    overflow: hidden;
    font-size: 12px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.commission-admin-header-badge small {
    color: #708487;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .02em;
    text-align: left;
    text-transform: uppercase;
}

.commission-history-filter-selects {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.commission-history-filter-selects.is-single-filter {
    grid-template-columns: minmax(190px, 320px);
    justify-content: center;
}

.commission-history-filter-row {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(190px, 1fr);
    gap: 14px;
    width: 100%;
}

.commission-history-results-title {
    gap: 16px;
}

.commission-history-limit-form {
    margin-left: auto;
}

#versements-results {
    scroll-margin-top: 24px;
}

.commission-history-pagination {
    margin-right: 0;
    margin-left: 0;
}

.commission-history-cards {
    display: grid;
    gap: 34px;
    margin-top: 22px;
}

.commission-history-card {
    min-width: 0;
    padding: 22px;
    border: 2px solid #bfd1d3;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(38, 79, 83, .09);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.commission-history-card:hover,
.commission-history-card:target {
    border-color: #69aeb3;
    box-shadow: 0 16px 32px rgba(38, 79, 83, .16);
    transform: translateY(-2px);
}

.commission-history-card:target {
    scroll-margin-top: 24px;
}

.commission-history-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.commission-history-card-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.commission-history-amounts,
.commission-history-payment-meta {
    display: grid;
    min-width: 0;
    margin-top: 18px;
    overflow: hidden;
    border: 1px solid #dce8e9;
    border-radius: 10px;
}

.commission-history-amounts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.commission-history-payment-meta {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: #f8fbfb;
}

.commission-history-amounts > div,
.commission-history-payment-meta > div {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    padding: 14px 16px;
    border-right: 1px solid #e1eaeb;
}

.commission-history-amounts > div:last-child,
.commission-history-payment-meta > div:last-child {
    border-right: 0;
}

.commission-history-amounts > div.is-total {
    background: linear-gradient(135deg, #edf6f7 0%, #f5f1ff 100%);
}

.commission-history-amounts span,
.commission-history-payment-meta span,
.commission-history-commission-item > div > span:first-child {
    color: #748589;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.commission-history-amounts strong,
.commission-history-payment-meta strong,
.commission-history-commission-item strong {
    overflow-wrap: anywhere;
    color: #294f53;
    font-size: 11px;
}

.commission-history-amounts .is-total strong {
    color: #5e4aa0;
    font-size: 13px;
}

.commission-history-card .commission-payout-details {
    margin: 18px 0 0;
}

.commission-history-commission-list {
    display: grid;
    gap: 0;
}

.commission-history-commission-item {
    display: grid;
    grid-template-columns: minmax(150px, 1.4fr) repeat(4, minmax(105px, 1fr));
    gap: 14px;
    padding: 15px 18px;
    border-bottom: 1px solid #e7eeee;
}

.commission-history-commission-item:last-child {
    border-bottom: 0;
}

.commission-history-commission-item > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
    min-width: 0;
}

@media (max-width: 850px) {
    .commission-history-payment-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .commission-history-payment-meta > div:nth-child(2) {
        border-right: 0;
    }

    .commission-history-payment-meta > div:nth-child(-n+2) {
        border-bottom: 1px solid #e1eaeb;
    }

    .commission-history-commission-item {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .commission-history-filter-row {
        grid-template-columns: 1fr;
    }

    .commission-history-results-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .commission-history-limit-form {
        margin-left: 0;
    }

    .commission-history-preview-heading,
    .commission-history-card-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .commission-history-preview-heading .submit-button,
    .commission-history-card-actions {
        width: 100%;
    }

    .commission-history-amounts,
    .commission-history-payment-meta,
    .commission-history-commission-item {
        grid-template-columns: 1fr;
    }

    .commission-history-amounts > div,
    .commission-history-payment-meta > div,
    .commission-history-payment-meta > div:nth-child(2) {
        border-right: 0;
        border-bottom: 1px solid #e1eaeb;
    }

    .commission-history-amounts > div:last-child,
    .commission-history-payment-meta > div:last-child {
        border-bottom: 0;
    }

    .commission-history-filter-selects.is-single-filter {
        grid-template-columns: 1fr;
    }
}

.commission-history-table th,
.commission-history-table td {
    white-space: nowrap;
}

.commission-history-table td:first-child {
    min-width: 150px;
    white-space: normal;
}

.commission-history-table > tbody > tr:not(.commission-history-details-row) > td {
    vertical-align: middle;
}

/* Simulateur public de commissions */
.commission-simulator-page {
    overflow: hidden;
}

.commission-simulator-hero {
    padding: 50px 52px 42px;
    text-align: center;
    background:
        radial-gradient(circle at 78% 12%, rgba(214,164,87,0.2), transparent 30%),
        linear-gradient(180deg, #fffdf7 0%, #ffffff 100%);
    border-bottom: 4px solid #61A6AB;
}

.commission-simulator-hero h1 {
    max-width: 760px;
    margin: 0 auto 16px;
    color: #172f32;
    font-size: 36px;
    line-height: 1.18;
}

.commission-simulator-hero p {
    max-width: 720px;
    margin: 0 auto;
    color: #526164;
    font-size: 15px;
    line-height: 1.7;
}

.commission-simulator-hero-proof {
    display: flex;
    justify-content: center;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 24px;
}

.commission-simulator-hero-proof strong,
.commission-simulator-hero-proof span {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    padding: 6px 12px;
    border: 1px solid #CFE8EA;
    border-radius: 999px;
    background: #ffffff;
    color: #2f6f73;
    font-size: 11px;
    font-weight: 800;
}

.commission-simulator-hero-proof strong {
    color: #ffffff;
    background: #2f6f73;
    border-color: #2f6f73;
}

.commission-simulator-slogan-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 680px;
    margin-top: 18px;
    padding: 12px 20px;
    color: #5f461c;
    border: 1px solid rgba(214,164,87,0.58);
    border-radius: 999px;
    background: linear-gradient(135deg, #fff8e8, #ffffff);
    box-shadow: 0 8px 20px rgba(125,94,42,0.1);
    font-size: 15px;
    font-weight: 900;
    line-height: 1.35;
}

.commission-simulator-content,
.commission-simulator {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.commission-simulator-panel,
.commission-simulator-results {
    padding: 24px;
    border: 1px solid #dcebec;
    border-left: 4px solid #61A6AB;
    border-radius: 9px;
    background: #ffffff;
}

.commission-simulator-pricing-warning {
    padding: 13px 15px;
    color: #7b571d;
    border: 1px solid #ead3a4;
    border-left: 4px solid #d6a457;
    border-radius: 7px;
    background: #fffaf0;
    font-size: 11px;
    font-weight: 700;
}

.commission-simulator-section-heading,
.commission-simulator-results-title {
    margin-bottom: 20px;
}

.commission-simulator-section-heading > span,
.commission-simulator-results-title > span {
    display: inline-block;
    margin-bottom: 7px;
    color: #2f6f73;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.45px;
    text-transform: uppercase;
}

.commission-simulator-section-heading h2,
.commission-simulator-results-title h2 {
    margin: 0;
    color: #1f1f1f;
    font-size: 21px;
    line-height: 1.3;
}

.commission-simulator-section-heading p {
    margin: 7px 0 0;
    color: #687477;
    font-size: 12px;
}

.commission-simulator-fields {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.commission-simulator-fields.is-detailed {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.commission-simulator-fields.is-detailed > .commission-simulator-field:nth-child(-n+3) {
    grid-column: span 2;
}

.commission-simulator-fields.is-detailed > .commission-simulator-field:nth-child(4) {
    grid-column: 2 / span 2;
}

.commission-simulator-fields.is-detailed > .commission-simulator-field:nth-child(5) {
    grid-column: 4 / span 2;
}

.commission-simulator-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
    color: #34494c;
    font-size: 12px;
    font-weight: 800;
}

.commission-simulator-field > span > small {
    color: #7b8587;
    font-weight: 500;
}

.commission-simulator-field input,
.commission-simulator-field select {
    width: 100%;
    min-height: 42px;
    box-sizing: border-box;
    padding: 10px 11px;
    color: #1f3336;
    border: 1px solid #cfdddd;
    border-radius: 6px;
    background: #ffffff;
    font: inherit;
    font-size: 13px;
}

.commission-simulator-field input:focus,
.commission-simulator-field select:focus {
    outline: 3px solid rgba(97,166,171,0.18);
    border-color: #61A6AB;
}

.commission-simulator-input-suffix {
    display: flex;
    align-items: stretch;
}

.commission-simulator-input-suffix input {
    min-width: 0;
    border-radius: 6px 0 0 6px;
}

.commission-simulator-input-suffix > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    padding: 0 9px;
    color: #4e6467;
    border: 1px solid #cfdddd;
    border-left: 0;
    border-radius: 0 6px 6px 0;
    background: #f3f8f8;
    font-size: 11px;
    font-weight: 800;
}

.commission-simulator-applications {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.commission-simulator-applications.is-simple {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.commission-simulator-choice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-height: 70px;
    box-sizing: border-box;
    padding: 14px;
    cursor: pointer;
    border: 1px solid #dce7e8;
    border-radius: 8px;
    background: #fafcfc;
}

.commission-simulator-choice:hover {
    border-color: #61A6AB;
    background: #f4fafa;
}

.commission-simulator-choice.is-primary {
    border-color: #61A6AB;
    background: #eef7f7;
}

.commission-simulator-choice.is-free {
    cursor: default;
    border-style: dashed;
}

.commission-simulator-choice.is-disabled,
.commission-simulator-choice.is-disabled:hover {
    cursor: not-allowed;
    opacity: 0.58;
    border-color: #dce7e8;
    background: #f4f5f5;
}

.commission-simulator-choice input {
    margin-top: 3px;
    accent-color: #61A6AB;
}

.commission-simulator-choice > span {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.commission-simulator-choice strong {
    color: #263b3e;
    font-size: 12px;
    line-height: 1.35;
}

.commission-simulator-choice small {
    color: #677477;
    font-size: 11px;
}

.commission-simulator-choice .commission-simulator-requirement {
    color: #8a5d1c;
    font-weight: 800;
}

.commission-simulator-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.commission-simulator-results {
    position: relative;
    overflow: hidden;
    border-left-color: #d6a457;
    background:
        radial-gradient(circle at 92% 4%, rgba(214,164,87,0.16), transparent 30%),
        #fffdf8;
}

.commission-simulator-result-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.commission-simulator-comparison-block {
    margin-bottom: 26px;
}

.commission-simulator-detail-heading {
    margin: 0 0 14px;
    padding-top: 22px;
    border-top: 1px solid #e3e9e9;
}

.commission-simulator-detail-heading > span {
    display: block;
    margin-bottom: 5px;
    color: #2f6f73;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .4px;
    text-transform: uppercase;
}

.commission-simulator-detail-heading h3 {
    margin: 0;
    color: #263b3e;
    font-size: 18px;
}

.commission-simulator-detail-heading p {
    margin: 6px 0 0;
    color: #687477;
    font-size: 11px;
    line-height: 1.5;
}

.commission-simulator-result-card {
    min-height: 112px;
    box-sizing: border-box;
    padding: 16px;
    border: 1px solid #e2e9e9;
    border-radius: 8px;
    background: rgba(255,255,255,0.94);
}

.commission-simulator-result-card > span,
.commission-simulator-result-card > small {
    display: block;
    color: #687477;
    font-size: 11px;
    line-height: 1.4;
}

.commission-simulator-result-card > strong {
    display: block;
    margin: 9px 0 7px;
    color: #244f53;
    font-size: 23px;
    line-height: 1.1;
}

.commission-simulator-result-card.is-competitor {
    border-color: #efcccc;
    background: #fff8f8;
}

.commission-simulator-result-card.is-competitor > strong {
    color: #aa3e3e;
}

.commission-simulator-result-card.is-saving,
.landing-commission-results > div.is-saving {
    border-color: #9bcdb2;
    background: #f2fbf6;
}

.commission-simulator-result-card.is-saving > strong,
.landing-commission-results .is-saving strong {
    color: #267347;
}

.commission-simulator-result-card.is-saving.is-negative,
.landing-commission-results .is-saving.is-negative {
    border-color: #efcccc;
    background: #fff8f8;
}

.commission-simulator-result-card.is-saving.is-negative > strong,
.landing-commission-results .is-saving.is-negative > strong {
    color: #aa3e3e;
}

.commission-simulator-payback {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.commission-simulator-payback > div {
    padding: 14px 16px;
    border-left: 3px solid #61A6AB;
    border-radius: 6px;
    background: rgba(255,255,255,0.9);
}

.commission-simulator-payback > div.is-saving {
    border-left-color: #267347;
    background: #f2fbf6;
}

.commission-simulator-payback > div.is-saving > strong {
    color: #267347;
}

.commission-simulator-payback > div.is-saving.is-negative {
    border-left-color: #aa3e3e;
    background: #fff8f8;
}

.commission-simulator-payback > div.is-saving.is-negative > strong {
    color: #aa3e3e;
}

.commission-simulator-payback span,
.commission-simulator-payback strong {
    display: block;
}

.commission-simulator-monthly-cost {
    display: flex;
    align-items: baseline;
    gap: 4px;
    margin-top: 4px;
}

.commission-simulator-monthly-cost > strong {
    margin: 0;
    color: #2f6f73;
    font-size: 15px;
}

.commission-simulator-total-cost {
    display: flex;
    align-items: baseline;
    gap: 4px;
    margin-top: 6px;
}

.commission-simulator-total-cost > strong {
    margin: 0;
    color: #2f6f73;
    font-size: 15px;
}

.commission-simulator-payback span {
    color: #687477;
    font-size: 11px;
}

.commission-simulator-payback strong {
    margin-top: 4px;
    color: #2f6f73;
    font-size: 15px;
}

.commission-simulator-disclaimer {
    margin: 16px 0 0;
    color: #747f81;
    font-size: 10px;
    line-height: 1.55;
}

.commission-simulator-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 25px;
    color: #ffffff;
    border-radius: 9px;
    background: linear-gradient(135deg, #2f6f73, #61A6AB);
}

.commission-simulator-cta span {
    display: block;
    margin-bottom: 5px;
    color: #dff2f3;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.35px;
    text-transform: uppercase;
}

.commission-simulator-cta h2 {
    max-width: 470px;
    margin: 0;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.3;
}

.commission-simulator-cta-actions {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    flex-wrap: wrap;
}

.landing-commission-simulator-section {
    background:
        radial-gradient(circle at 92% 2%, rgba(214,164,87,0.14), transparent 34%),
        #ffffff;
}

.landing-commission-simulator-section .landing-sales-section-header p {
    max-width: 690px;
    margin: 8px 0 0;
    color: #657174;
    line-height: 1.55;
}

.landing-commission-simulator {
    padding: 18px;
    border: 1px solid #dcebec;
    border-left: 4px solid #d6a457;
    border-radius: 8px;
    background: #fffdf8;
}

.landing-commission-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.landing-commission-results {
    margin-top: 14px;
}

.landing-commission-comparison-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.landing-commission-comparison-title span {
    color: #2f6f73;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .35px;
    text-transform: uppercase;
}

.landing-commission-comparison-title strong {
    color: #273f42;
    font-size: 14px;
}

.landing-commission-comparison-table {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) repeat(2, minmax(150px, 1fr));
    overflow: hidden;
    border: 1px solid #dce7e8;
    border-radius: 8px;
    background: #ffffff;
}

.landing-commission-comparison-table > * {
    display: flex;
    align-items: center;
    min-height: 46px;
    box-sizing: border-box;
    padding: 10px 14px;
    border-top: 1px solid #e4ecec;
}

.landing-commission-comparison-table > :nth-child(-n+3) {
    border-top: 0;
}

.landing-commission-comparison-head {
    justify-content: center;
    color: #536568;
    background: #f7f9f9;
    font-size: 12px;
    font-weight: 900;
}

.landing-commission-comparison-head.is-competitor,
.landing-commission-comparison-table strong.is-competitor {
    color: #a14343;
    background: #fff8f8;
}

.landing-commission-comparison-head.is-studio,
.landing-commission-comparison-table strong.is-studio {
    color: #267347;
    background: #f2fbf6;
}

.landing-commission-comparison-label {
    color: #536568;
    font-size: 11px;
    font-weight: 700;
}

.landing-commission-comparison-table > strong {
    justify-content: center;
    font-size: 16px;
}

.landing-commission-savings {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.landing-commission-savings > div {
    padding: 15px;
    border: 1px solid #9bcdb2;
    border-radius: 7px;
    background: #f2fbf6;
}

.landing-commission-savings span,
.landing-commission-savings strong {
    display: block;
}

.landing-commission-savings span {
    color: #567269;
    font-size: 11px;
}

.landing-commission-savings strong {
    margin-top: 5px;
    color: #267347;
    font-size: 21px;
}

.landing-commission-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 14px;
}

.landing-commission-footer small {
    color: #6b7779;
    font-size: 10px;
}

@media (max-width: 900px) {
    .commission-simulator-fields,
    .commission-simulator-result-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .commission-simulator-fields.is-detailed {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .commission-simulator-fields.is-detailed > .commission-simulator-field:nth-child(n) {
        grid-column: auto;
    }

    .commission-simulator-cta {
        align-items: flex-start;
        flex-direction: column;
    }

    .commission-simulator-cta-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .commission-simulator-hero {
        padding: 38px 24px 34px;
    }

    .commission-simulator-hero h1 {
        font-size: 29px;
    }

    .commission-simulator-fields,
    .commission-simulator-applications,
    .commission-simulator-options,
    .commission-simulator-result-grid,
    .commission-simulator-payback,
    .landing-commission-fields,
    .landing-commission-savings {
        grid-template-columns: 1fr;
    }

    .commission-simulator-fields.is-detailed {
        grid-template-columns: 1fr;
    }

    .landing-commission-comparison-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .landing-commission-comparison-table {
        grid-template-columns: minmax(130px, 1.2fr) repeat(2, minmax(92px, 1fr));
    }

    .landing-commission-comparison-table > * {
        padding: 9px 8px;
    }

    .landing-commission-comparison-table > strong {
        font-size: 13px;
    }

    .landing-commission-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}
.referral-invoice-page-link {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 18px;
}

.commission-dashboard-links {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.referral-invoice-intro {
    background: linear-gradient(135deg, rgba(97, 166, 171, .08), rgba(117, 87, 196, .06));
}

.referral-invoice-intro h2 {
    margin: 6px 0 8px;
    color: #24494c;
}

.referral-invoice-intro p {
    margin: 0;
    color: #587074;
}

.referral-invoice-list {
    display: grid;
    gap: 42px;
    margin-top: 18px;
}

.referral-invoice-filter-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
    gap: 16px;
}

.referral-invoice-filter-grid .form-field input,
.referral-invoice-filter-grid .form-field select {
    width: 100%;
    box-sizing: border-box;
}

.referral-invoice-results-title {
    gap: 16px;
}

.referral-invoice-results-title .result-limit-form {
    margin-left: auto;
}

.referral-invoice-card {
    position: relative;
    border: 2px solid #bfd1d3;
    border-radius: 12px;
    padding: 24px;
    background: #fff;
    box-shadow: 0 10px 22px rgba(38, 79, 83, .09);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.referral-invoice-card:hover {
    transform: translateY(-2px);
    border-color: #69aeb3;
    box-shadow: 0 15px 30px rgba(38, 79, 83, .16);
}

.referral-invoice-card.status-invoice_required {
    background: linear-gradient(135deg, #fffdf7 0%, #ffffff 45%);
}

.referral-invoice-card.status-invoice_uploaded {
    background: linear-gradient(135deg, #f5fbfb 0%, #ffffff 45%);
}

.referral-invoice-card.status-correction_required {
    background: linear-gradient(135deg, #fff6f7 0%, #ffffff 45%);
}

.referral-invoice-card.status-paid {
    background: linear-gradient(135deg, #f5fbf7 0%, #ffffff 45%);
}

.referral-invoice-card.status-cancelled {
    background: linear-gradient(135deg, #f7f8f8 0%, #ffffff 45%);
}

.referral-invoice-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.referral-invoice-card-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.referral-invoice-card-main {
    display: block;
}

.referral-invoice-card-main > div {
    padding: 14px;
    border: 1px solid #cbdcdd;
    border-radius: 10px;
    background: #f7fafb;
    box-shadow: 0 3px 9px rgba(38, 79, 83, .06);
}

.referral-invoice-card-main span,
.referral-invoice-card-main strong {
    display: block;
}

.referral-invoice-card-main span {
    margin-bottom: 6px;
    color: #6c7c7f;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.referral-invoice-card-main strong {
    color: #24494c;
    font-size: 17px;
}

.referral-invoice-month {
    max-width: 260px;
}

.referral-invoice-financial-summary {
    width: 100%;
    margin-top: 16px;
    border: 1px solid #dfe9ea;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.referral-invoice-financial-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 11px 15px;
    border-bottom: 1px solid #e7eeee;
    color: #526b6e;
}

.referral-invoice-financial-row[hidden] {
    display: none;
}

.referral-invoice-financial-row strong {
    color: #24494c;
    font-size: 15px;
    white-space: nowrap;
}

.referral-invoice-financial-total {
    border-bottom: 0;
    background: linear-gradient(135deg, rgba(97, 166, 171, .14), rgba(117, 87, 196, .12));
    color: #315f63;
    font-weight: 800;
}

.referral-invoice-financial-total strong {
    color: #6949b3;
    font-size: 18px;
}

.referral-invoice-status-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
}

.referral-invoice-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 7px 11px;
    border-radius: 999px;
    background: #eef6f6;
    color: #2f7276;
    font-size: 12px;
    font-weight: 800;
}

.status-invoice_required .referral-invoice-status {
    background: #fff3d6;
    color: #8a6110;
}

.status-invoice_uploaded .referral-invoice-status {
    background: #dff1f2;
    color: #286e73;
}

.referral-invoice-status.status-correction_required,
.status-correction_required .referral-invoice-status {
    background: #fff0f1;
    color: #a83e49;
}

.referral-invoice-status.status-paid,
.status-paid .referral-invoice-status {
    background: #edf8f1;
    color: #397a58;
}

.status-cancelled .referral-invoice-status {
    background: #eaeeee;
    color: #5d6c6e;
}

@media (max-width: 760px) {
    .referral-invoice-filter-grid {
        grid-template-columns: 1fr;
    }

    .referral-invoice-results-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .referral-invoice-results-title .result-limit-form {
        margin-left: 0;
    }
}

.referral-invoice-correction {
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 9px;
    background: #fff0f1;
    color: #813740;
}

.referral-invoice-correction p {
    margin: 6px 0 0;
}

.referral-invoice-uploaded-notice {
    margin-top: 18px;
    padding: 13px 15px;
    border: 1px solid #d8e9e9;
    border-radius: 9px;
    background: #f3f9f9;
    color: #356b6f;
    font-weight: 700;
}

.referral-invoice-upload-form {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto auto;
    gap: 16px;
    align-items: center;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #e4eeee;
}

.referral-invoice-upload-form .form-group {
    margin: 0;
}

.referral-invoice-file-input {
    display: none;
}

.referral-invoice-file-group {
    position: relative;
}

.referral-invoice-file-picker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 0;
}

.referral-invoice-file-picker .upload-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 11px 22px;
    border-radius: 6px;
    background: #61a6ab;
    color: #ffffff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    line-height: normal;
    text-decoration: none;
    white-space: nowrap;
}

.referral-invoice-file-picker .upload-button:hover {
    background: #4f9297;
    color: #ffffff;
}

.referral-invoice-file-picker .upload-button.secondary {
    background: #eef2f2;
    color: #385c60;
}

.referral-invoice-file-picker .upload-button.secondary:hover {
    background: #e0e8e8;
    color: #274c50;
}

.referral-invoice-file-name {
    color: #5d7073;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.referral-invoice-file-error {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    display: block;
    color: #b43f4b;
    font-size: 12px;
    font-weight: 700;
}

.referral-invoice-upload-form .submit-button:disabled {
    background: #c9d2d3;
    color: #7e8b8d;
    cursor: not-allowed;
    box-shadow: none;
}

.referral-invoice-upload-form .submit-button:disabled:hover {
    background: #c9d2d3;
}

.referral-invoice-upload-form.is-replacement-collapsed:not(.has-selected-file) {
    grid-template-columns: 1fr;
}

.referral-invoice-upload-form.is-replacement-collapsed:not(.has-selected-file) .referral-invoice-file-name,
.referral-invoice-upload-form.is-replacement-collapsed:not(.has-selected-file) .referral-invoice-vat,
.referral-invoice-upload-form.is-replacement-collapsed:not(.has-selected-file) .submit-button {
    display: none;
}

.referral-invoice-vat {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    font-weight: 700;
    color: #385c60;
}

.commission-monthly-action {
    display: grid;
    gap: 7px;
    min-width: 230px;
    margin-bottom: 10px;
}

.commission-monthly-action:last-child {
    margin-bottom: 0;
}

.commission-monthly-action textarea,
.commission-monthly-action input {
    width: 100%;
    box-sizing: border-box;
}

.commission-monthly-invoices-table th:last-child,
.commission-monthly-invoices-table td:last-child {
    text-align: left;
}

.admin-commission-invoice-meta strong {
    color: #2f7276;
}

.admin-activity-card.is-commission-invoice .candidature-source-badge-mark.is-external-commercial {
    display: inline-flex;
    flex: 0 0 auto;
    width: auto;
    min-width: 72px;
    height: 34px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0 10px;
    border-radius: 9px;
    font-size: 9px;
    letter-spacing: .2px;
    white-space: nowrap;
}

.admin-commission-invoice-highlight-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    max-width: 440px;
    margin-top: 10px;
}

.admin-commission-invoice-highlight {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
    padding: 8px 11px;
    border: 1px solid #d3e1e2;
    border-radius: 8px;
    background: #f7fafa;
    box-shadow: none;
}

.admin-commission-invoice-highlight > span {
    color: #718386;
    font-size: 8px;
    font-weight: 800;
}

.admin-commission-invoice-highlight > strong {
    color: #244f53;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    text-align: right;
}

.admin-commission-invoice-highlight.is-period {
    border-color: #d8d0e9;
    background: #faf8fd;
}

.admin-commission-invoice-highlight.is-period > span,
.admin-commission-invoice-highlight.is-period > strong {
    color: #655681;
}

.admin-commission-invoice-highlight.is-amount {
    border-color: #c7dcde;
    background: #f3f9f9;
}

.admin-commission-invoice-highlight.is-amount > strong {
    color: #2d7479;
    font-size: 14px;
}

@media (max-width: 620px) {
    .admin-commission-invoice-highlight-row {
        grid-template-columns: 1fr;
        max-width: none;
    }
}

.admin-commission-invoice-file-link {
    color: #5f8f94;
    text-decoration: none;
    font-weight: 700;
    line-height: 1.25;
}

.admin-commission-invoice-file-link:hover {
    color: #477a7f;
    text-decoration: underline;
}

.admin-commission-invoice-version-note {
    margin-top: 8px;
    color: #6f5ab5;
    font-size: 13px;
    font-weight: 700;
}

/* Keep the KPI summary comfortably visible when a filter targets it. */
#candidature-kpis {
    scroll-margin-top: 16px;
}

/* Shared select treatment: keep the native controls spacious and align the
   chevron consistently across filters, forms and pagination controls. */
select:not([multiple]) {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 36px;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%234f8f94' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 13px center;
    background-size: 12px 8px;
}

.company-color-picker {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.company-color-inline {
    display: flex;
    align-items: center;
    gap: 10px;
}

.company-color-preview {
    flex: 0 0 42px;
    width: 42px;
    height: 38px;
    padding: 3px;
    box-sizing: border-box;
    border: 1px solid #cddfe1;
    border-radius: 8px;
    background-clip: padding-box;
    transition: all .15s ease;
    cursor: pointer;
}

.company-color-inline input[type="text"] {
    flex: 0 0 180px;
    width: 180px;
    box-sizing: border-box;
    cursor: text;
}

/* Ressources éditoriales publiques : lecture claire, premium et discrète. */
.sa-editorial-page { background: #f6f9f9; color: #26383b; }
.sa-editorial-index-hero { margin-bottom: 22px; padding: 42px 48px; border-radius: 18px; background: linear-gradient(135deg, #eaf8f8, #fffdf7); border: 1px solid #e4eeee; }
.sa-editorial-index-hero h1 { margin: 10px 0 8px; color: #203438; font-size: 42px; }
.sa-editorial-index-hero p { max-width: 650px; margin: 0; color: #52666a; font-size: 18px; line-height: 1.6; }
.sa-editorial-index-list { display: grid; gap: 14px; }
.sa-editorial-index-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 28px; border: 1px solid #e4eeee; border-left: 4px solid #61a6ab; border-radius: 14px; background: #fff; color: #26383b; text-decoration: none; box-shadow: 0 8px 24px rgba(37, 77, 80, .05); transition: transform .15s ease, box-shadow .15s ease; }
.sa-editorial-index-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(37, 77, 80, .10); }
.sa-editorial-index-card span { color: #5b999d; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sa-editorial-date { display: block; margin-top: 7px; color: #839396; font-size: 11px; font-weight: 600; }
.sa-editorial-date-detail { margin: -14px 0 25px; }
.sa-editorial-index-card h2 { margin: 7px 0; color: #29494d; font-size: 22px; }
.sa-editorial-index-card p { max-width: 760px; margin: 0; color: #65787b; line-height: 1.5; }
.sa-editorial-index-card > strong { flex: 0 0 auto; color: #4f969b; }
.sa-editorial-empty { padding: 32px; border-radius: 14px; background: #fff; color: #65787b; text-align: center; }
.sa-editorial-shell { width: 900px; max-width: calc(100% - 24px); margin: 34px auto 64px; }
.sa-editorial-article, .sa-editorial-related { background: #fff; border: 1px solid #e4eeee; border-radius: 18px; box-shadow: 0 16px 40px rgba(37, 77, 80, .07); }
.sa-editorial-article { padding: 48px 58px 54px; }
.sa-editorial-back-link { margin-bottom: 24px; }
.sa-editorial-back-link a { color: #4f969b; font-weight: 700; text-decoration: none; }
.sa-editorial-back-link a:hover { text-decoration: underline; }
.sa-editorial-kicker { color: #4f969b; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sa-editorial-article h1 { max-width: 780px; margin: 12px 0 26px; color: #203438; font-size: clamp(30px, 4vw, 48px); line-height: 1.08; }
.sa-editorial-answer { margin: 0 0 28px; padding: 22px 25px; border-left: 4px solid #61a6ab; border-radius: 12px; background: linear-gradient(135deg, #effafa, #fbfefd); }
.sa-editorial-answer span { display: block; margin-bottom: 8px; color: #4f969b; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.sa-editorial-answer p, .sa-editorial-intro { margin: 0; font-size: 18px; line-height: 1.65; }
.sa-editorial-intro { margin-bottom: 34px; color: #52666a; }
.sa-editorial-section { margin-top: 34px; }
.sa-editorial-section h2, .sa-editorial-takeaway h2, .sa-editorial-faq h2, .sa-editorial-related h2 { margin: 0 0 14px; color: #29494d; font-size: 25px; }
.sa-editorial-section-body, .sa-editorial-takeaway, .sa-editorial-faq { color: #455b5f; font-size: 16px; line-height: 1.72; }
.sa-editorial-section-body p { margin: 0 0 14px; }
.sa-editorial-section-body ul, .sa-editorial-section-body ol, .sa-editorial-takeaway ul { padding-left: 23px; }
.sa-editorial-section-body a { color: #39868c; font-weight: 700; }
.sa-editorial-takeaway { margin-top: 38px; padding: 26px 30px; border-radius: 14px; background: #f0f8f8; }
.sa-editorial-takeaway li { margin: 7px 0; }
.sa-editorial-faq { margin-top: 38px; }
.sa-editorial-faq-list details { border-top: 1px solid #dfebeb; padding: 15px 0; }
.sa-editorial-faq-list details:last-child { border-bottom: 1px solid #dfebeb; }
.sa-editorial-faq-list summary { cursor: pointer; color: #29494d; font-weight: 800; }
.sa-editorial-faq-list p { margin: 10px 0 0; }
.sa-editorial-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 46px; padding: 23px 25px; border-radius: 14px; background: linear-gradient(135deg, #24494d, #4f969b); color: #fff; }
.sa-editorial-cta strong, .sa-editorial-cta span { display: block; }
.sa-editorial-cta strong { font-size: 18px; }
.sa-editorial-cta span { margin-top: 5px; color: #dff4f4; }
.sa-editorial-cta a { flex: 0 0 auto; padding: 12px 18px; border-radius: 9px; background: #fff; color: #397d82; font-weight: 800; text-decoration: none; }
.sa-editorial-related { margin-top: 28px; padding: 32px 34px; }
.sa-editorial-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.sa-editorial-related-card { display: flex; min-height: 145px; flex-direction: column; padding: 18px; border: 1px solid #deebeb; border-top: 3px solid #61a6ab; border-radius: 12px; color: #26383b; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.sa-editorial-related-card:hover { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(37, 77, 80, .10); }
.sa-editorial-related-card span { color: #5b999d; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.sa-editorial-related-card strong { margin-top: 10px; font-size: 16px; line-height: 1.3; }
.sa-editorial-related-card small { margin-top: auto; padding-top: 14px; color: #5b999d; font-weight: 700; }
@media (max-width: 760px) {
    .sa-editorial-shell { width: calc(100% - 24px); margin-top: 18px; }
    .sa-editorial-article { padding: 30px 22px; }
    .sa-editorial-related { padding: 24px 18px; }
    .sa-editorial-index-hero { padding: 30px 22px; }
    .sa-editorial-index-hero h1 { font-size: 34px; }
    .sa-editorial-index-card { align-items: flex-start; flex-direction: column; padding: 20px; }
    .sa-editorial-related-grid { grid-template-columns: 1fr; }
    .sa-editorial-cta { align-items: flex-start; flex-direction: column; }
}
