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;
}

.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 48s 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;
}

.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;
}

.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;
}

@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: -20px auto 35px;
    color: #888888;
    font-size: 11px;
    display: flex;
    justify-content: center;
    gap: 10px;
    align-items: center;
}

.sa-footer-links::before {
    content: "•";
    margin: 0 10px;
    color: #cccccc;
}

.sa-footer-links {
    color: #61A6AB;
    font-weight: 600;
}

.sa-footer-links span {
    color: #cccccc;
    margin: 0 4px;
}

.sa-footer-link {
    color: #61A6AB;
    text-decoration: none;
    font-weight: 700;
}

.sa-footer-link:hover {
    color: #4c8f94;
    text-decoration: underline;
}

.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-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;
}

.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;
}

@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;
}

.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-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;
}

.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-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;
}

.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: inline-block;
    margin-bottom: 8px;
    padding: 8px 14px;
    border-radius: 99px;
    background: #EAF4F5;
    color: #2f6f73;
    border: 1px solid #61A6AB;
    font-weight: bold;
    font-size: 14px;
}

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

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

.feature-screenshot {
    background: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    padding: 10px;
}

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

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

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

.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-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-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-price {
    font-weight: bold;
    color: #2f6f73;
    white-space: nowrap;
    text-align: right;
}

.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 span {
    color: #2f6f73;
    font-weight: bold;
    font-size: 16px;
}

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

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

.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: 8px;
}

.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: #f7f7f7;
    border: 1px solid #eeeeee;
    opacity: 0.7;
}

.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: #2f6f73;
    font-weight: bold;
    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: 10px;
}

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

.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;
}

.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;
}

.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 {
    padding: 54px 52px 42px;
    text-align: center;
    background: linear-gradient(180deg, #f7fbfb 0%, #ffffff 100%);
    border-bottom: 4px solid #61A6AB;
}

.landing-sales-hero h1 {
    max-width: 760px;
    margin: 0 auto 18px;
    color: #161616;
    font-size: 34px;
    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-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    padding: 22px 30px;
    background: #F8FBFB;
    border-bottom: 1px solid #DDEEEE;
}

.landing-sales-kpi {
    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-content {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.landing-sales-section {
    border: 1px solid #e4eeee;
    border-radius: 12px;
    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-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-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-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-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-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-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: linear-gradient(180deg, #fffdf7 0%, #ffffff 100%);
}

.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-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-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 {
    display: block;
    margin-bottom: 6px;
    color: #1f1f1f;
    font-size: 13px;
}

.offer-sales-faq-item span {
    color: #5c6668;
    font-size: 12px;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .landing-sales-value-grid,
    .landing-sales-store-grid,
    .landing-sales-kpis,
    .offer-sales-pricing,
    .offer-sales-benefit-grid {
        grid-template-columns: 1fr;
    }

    .landing-sales-workflow-grid,
    .landing-sales-highlight,
    .offer-sales-margin {
        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;
    }
}

@media (max-width: 640px) {
    .landing-sales-hero {
        padding: 38px 24px 34px;
    }

    .landing-sales-hero h1 {
        font-size: 26px;
    }

    .landing-sales-section {
        padding: 18px;
    }
}

.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;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    text-decoration: none;
}

.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: 12px;
    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-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 {
    gap: 16px;
}

.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-pill-stats strong{
    color:#2f7f88;
    font-size:16px;
}

.mission-info-pill-stats span{
    color:#5d7f85;
}

/* 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-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;
    right: 30px;
    top: 50%;
}

.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;
    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;
}

.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: inline-block;
    padding: 7px 12px;
    border-radius: 999px;
    background: #dff3e6;
    border: 1px solid #79b88a;
    color: #2f6f3d;
    font-weight: 700;
    font-size: 13px;
}

.mission-positioned-note-header {
    margin-top: 10px;
}

.mission-card-ended {
    background: #fff1f1 !important;
    border-color: #c94c4c !important;
}

.mission-card-ended .mission-rate-pill {
    background: #ffffff;
    border-color: #c94c4c;
    color: #a83232;
}

.mission-card-ended .mission-positioned-note {
    background: #fff7f7;
    border-color: #c94c4c;
    color: #a83232;
}

.mission-card-badges {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-shrink: 0;
}

.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-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 {
    min-height: 78px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid #f1b3a8;
    border-radius: 8px;
    background: #fff4f1;
    color: #8f2f21;
    box-sizing: border-box;
    cursor: pointer;
}

.company-logo-delete-card input {
    flex: 0 0 auto;
    accent-color: #c94832;
}

.company-logo-delete-card strong {
    display: block;
    font-size: 12px;
    line-height: 1.2;
}

.company-logo-delete-card small {
    display: block;
    margin-top: 3px;
    color: #a95a4b;
    font-size: 11px;
    line-height: 1.25;
}

@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;
}

.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-upload-box {
    padding: 22px 14px;
    border-radius: 8px;
}

.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;
}

.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: 150px;
    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;
}

@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(4, 1fr);
}

.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 {
    border-color: #b9deda;
    background: #eef8f6;
    color: #2f6f73;
}

.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 {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
}

.candidature-matching-pill {
    padding: 7px 12px;
    border: 1px solid #9ed5af;
    border-radius: 6px;
    background: #edf8f0;
    color: #2f6f3d;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.candidature-matching-pill strong {
    margin-right: 4px;
    color: #2f6f3d;
    font-weight: 900;
}

.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-contact-box{
    margin-top:0px;
    padding:14px;
    background:#f8fbfb;
    border:1px solid #e3eeee;
    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:#f2fbf5;
    border-style:dashed;
}

.contact-credit-intro{
    font-size:12px;
    color:#4f5f62;
    line-height:1.55;
}

.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-revealed{
    background:#f2fbf5;
    border-color:#bfe6ca;
}

.contact-revealed-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
}

.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;
}

.contact-revealed-main{
    display:flex;
    align-items:flex-start;
    gap:12px;
}

.contact-revealed-details{
    min-width:0;
}

.candidature-contact-logo{
    width:48px;
    height:48px;
    flex:0 0 48px;
    object-fit:contain;
    padding:6px;
    border-radius:10px;
    background:#fff;
    border:1px solid #d7ecee;
}

.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;
}

.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-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;
}

@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;
}

#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: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 {
    transform:none;
}

body.contact-reveal-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;
}

.raison-ko-select {
    border-color: #e0a0a0 !important;
    background: #fff0f0 !important;
    color: #b00020 !important;
    font-weight: bold;
}

.raison-ko-select:focus {
    border-color: #b00020 !important;
    box-shadow: 0 0 0 2px rgba(176,0,32,0.12) !important;
}

.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-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-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: 42px;
}

.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: 10px 12px;
    text-decoration: none;
}

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

.dashboard-opportunities-track {
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
}

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

.dashboard-opportunities-scroll span {
    position: relative;
}

.dashboard-opportunities-highlight {
    color: #2f6f73;
    font-weight: 800;
}

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

.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;
}

.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: 11px;
    background: #f8fbfb;
    margin-left:15px;
}

.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-top-action {
    text-align: right;
    margin-bottom: 18px;
}

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

.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-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;
}

.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;
}

.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: 8px;
    margin-bottom: 22px;
    flex-wrap: wrap;
}

.recherche-tabs a {
    text-decoration: none;
    background: #ffffff;
    color: #444444;
    border: 1px solid #dddddd;
    border-radius: 999px;
    padding: 8px 13px;
    font-size: 12px;
    font-weight: bold;
}

.recherche-tabs a.active,
.recherche-tabs a:hover {
    background: #EAF4F5;
    color: #2f6f73;
    border-color: #61A6AB;
}

.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-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-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-feature-grid {
    grid-template-columns: 1fr !important;
}

.appstore-feature-card {
    min-height: 0;
}

.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;
}

.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: #e9f7ef;
    border-color: #65b980;
    color: #2f6f3d;
}

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

.appstore-feature-status.inactive {
    background: #f5f7f8;
    color: #666666;
}

.feature-detail-header-active {
    background: #e9f7ef;
    border-bottom-color: #3ba65d;
}

.feature-detail-header-active .page-title {
    color: #2f6f3d;
}

.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-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;
}

@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;
    margin-bottom: 18px;
}

.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: 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;
    gap: 10px;
    width: 100%;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    background: #ffffff;
    padding: 12px;
    color: #333333;
    text-align: left;
    cursor: pointer;
    min-height: 44px;
    align-items: 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-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;
    }
}

/* Appels à profils */
.appel-profile-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 12px;
}

.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-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) auto;
    gap: 18px;
    align-items: start;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.appel-profile-mission-summary > div {
    display: grid;
    gap: 5px;
}

.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(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 2px;
}

.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-mission-actions {
    display: inline-flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}

.appel-profile-mission-tjm {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 12px;
    border: 1px solid #d6ecef;
    border-radius: 99px;
    background: #f8fbfb;
    color: #2f6f73;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.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-status-accepte {
    border-color: #4f9f62;
    background: #f6fff8;
    color: #2f6f3d;
}

.appel-profile-status-refuse {
    border-color: #d86a6a;
    background: #fff6f6;
    color: #a83232;
}

.appel-profile-action-hero {
    margin-bottom: 20px;
}

.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-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;
    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;
}

.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 {
    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;
}

.appel-profile-ai-criteria-keywords {
    color: #2f6f3d;
}

.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: 16px;
}

.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: 120px;
    resize: vertical;
}

.appel-profile-position-confirm {
    margin-top: 18px;
}

.appel-profile-position-actions {
    margin-top: 20px;
}

.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: 14px;
}

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-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-mission-summary,
    .appel-profile-match-head {
        align-items: stretch;
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .appel-profile-mission-info-grid {
        grid-template-columns: 1fr;
    }
}

.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);
}

.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;
}

.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;
}

/* =========================
   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;
}

.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-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 {
    margin: 0;
}

.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: #fff8e8;
    border-bottom-color: #d8a834;
}

.prestation-detail-header-terminee .page-title,
.prestation-detail-header-terminee .prestation-header-consultant {
    color: #7a5a12;
}

.prestation-detail-header-terminee .prestation-header-pill {
    border-color: #d8a834;
    color: #7a5a12;
}

.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;
}

.prestation-finance-table {
    display: grid;
    gap: 8px;
}

.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-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-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 strong {
    color: #222222;
}

.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;
}

.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;
    cursor: pointer;
}

.appstore-modal-check input {
    margin-top: 3px;
    cursor: pointer;
}

.appstore-modal-check a {
    color: #2f6f73;
    font-weight: 700;
    cursor: pointer;
}

.appstore-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.appstore-modal-actions .mini-button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

@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 .mini-button,
    .appstore-filter-actions .mini-button,
    .appstore-modal-actions .mini-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;
    margin-top: 25px;
}

.public-menu-v2 .sa-menu-v2-left {
    flex: 1 1 auto;
    min-width: 0;
}

.public-menu-search {
    flex: 0 1 230px;
    max-width: 230px;
}

.public-menu-search input {
    width: 100%;
    margin-left: 12px;
    box-sizing: border-box;
}

.public-menu-v2 .sa-menu-v2-links {
    gap: 5px;
}

.public-menu-v2 .sa-menu-link {
    padding: 6px 8px;
    white-space: nowrap;
}

.public-menu-store-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.public-menu-actions {
    gap: 6px;
    flex-shrink: 0;
}

.public-menu-actions .mini-button {
    padding: 7px 9px;
    font-size: 10px;
    white-space: nowrap;
}

.public-menu-primary {
    background: #61A6AB;
    color: #ffffff !important;
}

.public-menu-primary:hover {
    background: #4f969b;
}

.public-store-header-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 18px;
}

.public-store-intro {
    background: #f8fbfb;
}

.public-store-filter-form {
    grid-template-columns: 2fr 1fr 1fr 1fr;
}

.public-store-filter-form .appstore-search-field {
    grid-column: auto;
}

.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: 210px;
        width: 210px;
    }

    .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-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-card-visual img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
    filter: none;
    image-rendering: auto;
}

.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-empty {
    text-align: center;
}

@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;
    }
}

.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;
}
