

.projects-page-index-content {
    margin: 0 auto;
    height: 100vh;
    overflow: scroll;
}

.segments-clients-page, .value-prop-page{
    padding: 20px;
}

.project-step-card.locked .step-button{
    color: #9CA3AF;
}

.project-step-card.locked{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.page-project-header-content{
    margin-top: 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.add-project-button{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 15px;
    background: #0A58A5;
    padding: 0 17px;
    height: 44Px;
}

.add-project-button span{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}

.page-project-header-content h1{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px; /* 75% */
}

.page-project-header-content p{
    margin-top: 10px;
    color: #6E7F93;
    font-family: "Open Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px; /* 137.5% */
}

.search-filters-container{
    display: flex;
    align-items: center;
    gap: 15px;
}

.search-filters-container form{
    flex: 1;
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 42px;
    display: flex;
    align-items: center;
    padding: 0 16px;
}

.project-search-bar{
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    height: 100%;
}

.search-filters-container form input{
    height: 100%;
    width: 100%;
    border: none;
    background-color: transparent;
}

.filters-button{
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    display: flex;
    max-width: 143px;
    height: 42px;
    padding: 6px 13px;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.filters-button span{
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
}

.projects-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 21px;
    grid-row-gap: 21px;
    margin-top: 30px;
    padding-bottom: 30px;
}

/* Empty state */
.projects-empty-state{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 60px 24px;
    margin-top: 30px;
}

.projects-empty-icon{
    margin-bottom: 24px;
    opacity: 0.6;
}

.projects-empty-title{
    font-family: "Open Sans";
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 8px 0;
}

.projects-empty-description{
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 400;
    color: #64748b;
    line-height: 1.6;
    max-width: 420px;
    margin: 0 0 28px 0;
}

.projects-empty-cta{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    border-radius: 12px;
    background: #0A58A5;
    color: #fff;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}

.projects-empty-cta:hover{
    background: #084a8a;
}

.projects-empty-cta i{
    font-size: 12px;
}

.project-card{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    padding: 20px;
}

.project-card-header{
    display: flex;
    align-items: center;
    gap: 10px;
}

.project-name{
    display: flex;
    align-items: center;
    gap: 10px;
}

.project-name h3{
    color: var(--Color1, #223245);
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 111.111% */
}

.project-category{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 12px; /* 100% */
    margin-top: 6px;
}

.project-meta{
    margin: 12px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.project-meta span{
    color: var(--Color0, #445972);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 12px; /* 85.714% */
}

.progress-bar{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 11px;
}

.progress-fill{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: var(--Color-2, #0A58A5);
    height: 100%;
}

.project-progress{
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 200% */
}

.progress-step{
    font-weight: 400;
    color: var(--Color2, #6E7F93);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 70%;
}

.status-tabs{
    display: flex;
    flex-direction: column;
    padding: 10px;
}

.status-tab{
    padding: 10px;
    border-radius: 10px;
    color: var(--Color2, #6E7F93);
    text-align: left;
}

.status-tab span{
    border-radius: 10px;
    color: var(--Color2, #6E7F93);
    text-align: left;
    font-size: 16px;
}

.status-tab:hover, .status-tab.active{
    background: #f6f7f8;
}

/* Modal pour sélectionner un projet à associer à une cohorte */
.cohorte-project-selection-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.cohorte-project-selection-modal.show {
    display: flex;
}

.cohorte-project-selection-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
}

.cohorte-project-selection-content {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 12px;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    z-index: 1001;
}

.cohorte-project-selection-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #DFE5EC;
}

.cohorte-project-selection-header h3 {
    font-size: 20px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.cohorte-project-selection-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background-color: transparent;
    border: none;
    border-radius: 6px;
    color: #6E7F93;
    cursor: pointer;
    transition: all 0.2s ease;
}

.cohorte-project-selection-close:hover {
    background-color: #F8F9FA;
    color: #223245;
}

.cohorte-project-selection-body {
    padding: 24px;
}

.cohorte-project-selection-intro {
    font-size: 14px;
    color: #6E7F93;
    margin: 0 0 24px 0;
    line-height: 1.6;
    font-family: "Open Sans", sans-serif;
}

.cohorte-project-selection-error {
    padding: 12px 16px;
    background-color: #FEE2E2;
    color: #DC2626;
    border-radius: 8px;
    margin-bottom: 20px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
}

.cohorte-project-selection-form-group {
    margin-bottom: 20px;
}

.cohorte-project-selection-form-group label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #223245;
    margin-bottom: 8px;
    font-family: "Open Sans", sans-serif;
}

.cohorte-project-selection-select {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    font-size: 14px;
    color: #223245;
    background-color: #FFFFFF;
    font-family: "Open Sans", sans-serif;
    transition: border-color 0.2s ease;
}

.cohorte-project-selection-select:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.cohorte-project-selection-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #DFE5EC;
}

.cohorte-project-selection-cancel,
.cohorte-project-selection-submit {
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    border: none;
}

.cohorte-project-selection-cancel {
    background-color: #F8F9FA;
    color: #6E7F93;
}

.cohorte-project-selection-cancel:hover {
    background-color: #E9ECEF;
    color: #223245;
}

.cohorte-project-selection-submit {
    background-color: #0A58A5;
    color: #FFFFFF;
}

.cohorte-project-selection-submit:hover:not(:disabled) {
    background-color: #084A8A;
}

.cohorte-project-selection-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.create-project-button:hover {
    background-color: #084a8f;
    text-decoration: none;
    color: #FFFFFF;
}

.project-show-nav{
    display: flex;
    align-items: center;
}

.project-show-nav .cohortes-filter-tab{
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.project-show-content-section{
    margin-top: 30px;
}

.project-show-description{
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
}

.project-credits-info{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 10px;
    background: #EFF6FF;
    border: 1px solid #DBEAFE;
    margin-top: 12px;
    margin-bottom: 8px;
}

.project-credits-info .icon{
    width: 18px;
    height: 18px;
}

.project-credits-info span{
    color: #0A58A5;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
}

.project-steps-section{
    margin-top: 30px;
}

.project-steps-section h2{
    color: var(--Color2, #6E7F93);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px; /* 112.5% */
}

.project-steps-grid{
    margin-top: 30px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 22px;
    grid-row-gap: 22px;
}

.project-step-card {
    padding: 18px 20px;
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;

    /* gr1 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
}

.project-step-card.locked{
    opacity: 0.5;
    cursor: not-allowed;
}

.step-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.step-number{
    color: var(--Color2, #6E7F93);
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    line-height: 12px; /* 109.091% */
}

.step-status{
    border-radius: 6px;
    height: 22px;
    padding: 6px 14px;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    line-height: 12px; /* 109.091% */
    display: flex;
    align-items: center;
    justify-content: center;
}

.step-status.completed{
    border: 1px solid #59B224;
    background: rgba(89, 178, 36, 0.06);
    color: #59B224;
}

.step-status.open{
    border-radius: 6px;
    border: 1px solid var(--Color-2, #0A58A5);
    background: rgba(10, 88, 165, 0.06);
    color: var(--Color-2, #0A58A5);
}

.step-status.in-progress{
    border: 1px solid #F59E0B;
    background: rgba(245, 158, 11, 0.06);
    color: #F59E0B;
}

.step-status.locked{
    border-radius: 6px;
    border: 1px solid #9CA3AF;
    background: rgba(156, 163, 175, 0.08);
    color: #9CA3AF;
}

.step-title{
    color: var(--deep-dark-concree, #172735);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px; /* 137.5% */
    margin: 17px 0;
}

.step-description{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 15px; /* 125% */
    margin-top: 10px !important;
}

.step-credits-cost{
    margin: 17px 0;
    border-radius: 20px;
    background: #F6F7F8;
    width: fit-content;
    padding: 6px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.step-credits-cost span{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 8px; /* 66.667% */
}

.step-credits-cost.open{
    border-radius: 20px;
background: rgba(10, 88, 165, 0.06);
}

.step-credits-cost.open span{
    color: #0A58A5;
}

.step-credits-cost.locked{
    opacity: 0.5;
}

.step-button {
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    color: var(--Color-2, #0A58A5);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 114.286% */
    margin-top: 10px;
}

.project-cohorte-credits-badge{
    border-radius: 20px;
    border: 1px solid var(--Color-2, #0A58A5);
    display: flex;
    height: 32px;
    padding: 6px 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    color: var(--Color-2, #0A58A5);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 8px; /* 66.667% */
}

.settings-tabs{
    border-radius: 10px;
    background: #eaeceda4;
    width: fit-content;
    height: 39px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px;

}

.settings-tabs button{
    padding: 7px 29px;
    height: 32px;
    border-radius: 7px;
    border: none;
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 18px; /* 128.571% */
    cursor: pointer;
}

.settings-tabs button.active{
    background: #0A58A5;
    color: #FFFFFF;
}

.settings-card{
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    padding: 30px;
    margin-top: 17px;
}

.settings-card-header h2{
    color: var(--Color1, #223245);
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px; /* 90% */
}

.settings-card-header p{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 18px; /* 150% */
    margin-top: 6px;
}

.settings-form{
    margin-top: 30px;
}

.settings-form .form-group{
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
}

.settings-form .form-row{
    display: flex;
    align-items: center;
    gap: 16px;
}

.settings-form .form-row .form-group{
    width: 50%;
}

.settings-form .form-group label{
    color: var(--Color1, #223245);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 12px; /* 100% */
}

.settings-form .form-group input{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 39px;
    padding: 1rem;
}

.settings-form .form-group textarea{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    padding: 1rem;
    font-family: "Open Sans", sans-serif;
}

.settings-form .form-group select{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    padding: 1rem;
    font-family: "Open Sans", sans-serif;
}

.settings-form .save-button{
    border-radius: 15px;
    background: #0A58A5;
    display: flex;
    width: 291px;
    height: 44px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border: none;
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 12px; /* 85.714% */
    cursor: pointer;
}

/* ========== Documents Section ========== */

.documents-list{
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}

.document-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FAFBFC;
    transition: background 0.15s ease;
}

.document-item:hover{
    background: #F3F6F9;
}

.document-info{
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    flex: 1;
}

.document-icon{
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: #EEF2F6;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #6E7F93;
}

.document-details{
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.document-name{
    color: var(--Color1, #223245);
    font-size: 14px;
    font-weight: 500;
    line-height: 18px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.document-meta{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
}

.document-delete-form{
    display: inline;
}

.document-delete-btn{
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid #FECACA;
    background: #FFF;
    color: #DC2626;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s ease;
    flex-shrink: 0;
}

.document-delete-btn:hover{
    background: #FEF2F2;
    border-color: #F87171;
}

.documents-upload-zone{
    position: relative;
}

.documents-file-input{
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    overflow: hidden;
}

.documents-upload-label{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 24px;
    border: 2px dashed var(--stroke-1, #DFE5EC);
    border-radius: 12px;
    cursor: pointer;
    color: var(--Color2, #6E7F93);
    transition: all 0.15s ease;
}

.documents-upload-label:hover{
    border-color: #0A58A5;
    background: #F0F7FF;
    color: #0A58A5;
}

.documents-upload-label span{
    font-size: 14px;
    font-weight: 500;
}

.documents-upload-hint{
    font-size: 12px !important;
    font-weight: 400 !important;
    color: var(--Color2, #6E7F93) !important;
}

.settings-card-header-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.invite-button{
    border-radius: 15px;
background: #0A58A5;
width: 139px;
height: 44px;
border: none;
display: flex;
align-items: center;
gap: 10px;
justify-content: center;
}

.members-section{
    margin-top: 30px;
}

.members-section .members-section-title{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 16px; /* 133.333% */
}

.members-list{
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 10px;
}

.settings-card .member-item{
    border-radius: 10px;
    background: #F6F7F8;
    display: flex;
    flex-direction: row;
    padding: 13px 15px;
    display: flex;
    align-items: start;
    gap: 15px;
    justify-content: start;
}

.member-avatar{
    border-radius: 22px;
    background: var(--fr, linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%));
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.member-avatar span{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 12px; /* 75% */
}

.member-avatar-img{
    width: 44px;
    height: 44px;
    border-radius: 22px;
    object-fit: cover;
}

.member-name{
    color: var(--Color1, #223245);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 100% */
}

.member-role{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px;
}

.member-name-row{
    display: flex;
    align-items: center;
    gap: 10px;
}

.invite-button span{
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 12px; /* 85.714% */
}

.new-project-question, .manual-project-subtitle{
    color: #6E7F93;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
}

/* ========== New Project Page Redesign ========== */

.new-project-content{
    padding: 30px;
    overflow-y: auto;
    height: calc(100vh - 64px);
}

.new-project-wrapper{
    max-width: 820px;
    margin: 0 auto;
}

/* Hero */
.new-project-hero{
    text-align: center;
    margin-bottom: 40px;
}

.new-project-hero-icon{
    width: 64px;
    height: 64px;
    border-radius: 20px;
    background: linear-gradient(135deg, #0A58A5 0%, #1E7FD6 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.new-project-hero-icon i{
    font-size: 28px;
    color: #fff;
}

.new-project-hero-title{
    color: #223245;
    font-size: 26px;
    font-weight: 700;
    line-height: 34px;
    margin-bottom: 8px;
}

.new-project-hero-subtitle{
    color: #6E7F93;
    font-size: 15px;
    font-weight: 400;
    line-height: 24px;
}

/* Creation Cards */
.new-project-cards{
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 32px;
}

.new-project-card{
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 22px 24px;
    border-radius: 16px;
    border: 2px solid #E8EDF2;
    background: #fff;
    cursor: pointer;
    transition: all 0.25s ease;
    text-decoration: none;
    position: relative;
}

.new-project-card:hover{
    border-color: #C5D5E8;
    box-shadow: 0 4px 16px rgba(10, 88, 165, 0.08);
    transform: translateY(-1px);
}

.new-project-card.selected{
    border-color: #0A58A5;
    background: linear-gradient(135deg, rgba(10, 88, 165, 0.04) 0%, rgba(30, 127, 214, 0.06) 100%);
    box-shadow: 0 4px 16px rgba(10, 88, 165, 0.12);
}

.new-project-card-icon{
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.new-project-card-icon.ai,
.new-project-card-icon.idea,
.new-project-card-icon.manual{
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.new-project-card-icon img{
    width: 28px;
    height: 28px;
}

.new-project-card-icon.manual i{
    font-size: 22px;
    color: #0A58A5;
}

.new-project-card-body{
    flex: 1;
}

.new-project-card-body h3{
    color: #223245;
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;
    margin-bottom: 4px;
}

.new-project-card-body p{
    color: #6E7F93;
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
}

.new-project-card-check{
    flex-shrink: 0;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.new-project-card-check i{
    font-size: 22px;
    color: #0A58A5;
}

.new-project-card.selected .new-project-card-check{
    opacity: 1;
}

.new-project-card-arrow{
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #EFF6FF;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.new-project-card-arrow i{
    font-size: 14px;
    color: #0A58A5;
    transition: transform 0.2s ease;
}

.new-project-card.manual:hover .new-project-card-arrow{
    background: #DBEAFE;
}

.new-project-card.manual:hover .new-project-card-arrow i{
    transform: translateX(3px);
}

/* Ideas Selection */
.new-project-ideas-section{
    background: #F8FAFC;
    border-radius: 16px;
    padding: 28px;
    margin-bottom: 32px;
    border: 1px solid #E8EDF2;
}

.new-project-ideas-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.new-project-ideas-header h2{
    color: #223245;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
}

.new-project-catalog-link{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #0A58A5;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: gap 0.2s ease;
}

.new-project-catalog-link:hover{
    gap: 12px;
}

.new-project-catalog-link i{
    font-size: 12px;
}

.new-project-ideas-grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.new-project-idea-card{
    border-radius: 14px;
    border: 2px solid #E8EDF2;
    background: #fff;
    padding: 20px;
    cursor: pointer;
    transition: all 0.25s ease;
    position: relative;
}

.new-project-idea-card:hover{
    border-color: #C5D5E8;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.new-project-idea-card.selected{
    border-color: #0A58A5;
    background: linear-gradient(135deg, rgba(10, 88, 165, 0.04) 0%, rgba(30, 127, 214, 0.06) 100%);
}

.new-project-idea-card-top{
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.new-project-idea-badge{
    background: #EFF6FF;
    color: #0A58A5;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 20px;
}

.new-project-idea-budget{
    color: #6E7F93;
    font-size: 11px;
    font-weight: 500;
}

.new-project-idea-card h3{
    color: #223245;
    font-size: 15px;
    font-weight: 600;
    line-height: 22px;
}

.new-project-idea-card-check{
    position: absolute;
    top: 16px;
    right: 16px;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.new-project-idea-card-check i{
    font-size: 20px;
    color: #0A58A5;
}

.new-project-idea-card.selected .new-project-idea-card-check{
    opacity: 1;
}

/* File Upload */
.new-project-upload-section{
    margin-bottom: 32px;
}

.new-project-upload-area{
    border: 2px dashed #D1D5DB;
    border-radius: 16px;
    padding: 48px 24px;
    text-align: center;
    background: #FAFBFC;
    cursor: pointer;
    transition: all 0.25s ease;
}

.new-project-upload-area:hover,
.new-project-upload-area.drag-over{
    border-color: #0A58A5;
    background: #F0F7FF;
}

.new-project-upload-icon{
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: linear-gradient(135deg, #EFF6FF 0%, #DBEAFE 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}

.new-project-upload-icon i{
    font-size: 24px;
    color: #0A58A5;
}

.new-project-upload-text{
    color: #223245;
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 6px;
}

.new-project-upload-formats{
    color: #9CA3AF;
    font-size: 13px;
    font-weight: 400;
}

/* Start Button */
.new-project-action{
    text-align: center;
    padding-bottom: 40px;
}

.new-project-start-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 50px;
    padding: 0 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, #0A58A5 0%, #1E7FD6 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(10, 88, 165, 0.25);
}

.new-project-start-btn:hover{
    box-shadow: 0 6px 20px rgba(10, 88, 165, 0.35);
    transform: translateY(-1px);
}

.new-project-start-btn:active{
    transform: translateY(0);
}

.new-project-start-btn:disabled{
    opacity: 0.4;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.new-project-start-btn i{
    font-size: 14px;
    transition: transform 0.2s ease;
}

.new-project-start-btn:not(:disabled):hover i{
    transform: translateX(3px);
}

.manual-project-form{
    margin-top: 30px;
}

/* ========== Manual Project Page Redesign ========== */

.manual-project-content{
    padding: 30px;
    overflow-y: auto;
    height: calc(100vh - 64px);
}

.manual-project-wrapper{
    max-width: 600px;
    margin: 0 auto;
}

.manual-project-wrapper .manual-project-subtitle{
    color: #6E7F93;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    margin-bottom: 20px;
}

.manual-project-errors{
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 18px;
    border-radius: 12px;
    background: #FEF2F2;
    border: 1px solid #FECACA;
    margin-bottom: 20px;
}

.manual-project-errors i{
    font-size: 16px;
    color: #DC2626;
    margin-top: 2px;
}

.manual-project-errors p{
    color: #991B1B;
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
    margin-bottom: 2px;
}

.detailed-form-cancel-button{
    padding: 10px 28px;
    border-radius: 12px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #fff;
    color: #6E7F93;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.detailed-form-cancel-button:hover{
    border-color: #C5D5E8;
    background: #F8FAFC;
}


.form-group{
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
}

.form-group label{
    color: var(--Variable-texte-2, #586D85);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px; /* 183.333% */
}

.form-group input{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 44px;
    padding: 1rem;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 22px; /* 137.5% */
    color: var(--Color-Texte, #22364D);
}

/* Alert pour crédits insuffisants */
.project-insufficient-credits-alert {
    background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
    border: 1px solid #FCD34D;
    border-radius: 16px;
    padding: 20px 24px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    box-shadow: 0 2px 8px rgba(251, 191, 36, 0.15);
    margin-top: 20px;
}

.alert-content {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    flex: 1;
}

.alert-icon {
    width: 48px;
    height: 48px;
    background-color: #F59E0B;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    flex-shrink: 0;
}

.alert-icon svg {
    width: 24px;
    height: 24px;
}

.alert-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.alert-title {
    font-size: 18px;
    font-weight: 700;
    color: #92400E;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.alert-message {
    font-size: 14px;
    font-weight: 400;
    color: #78350F;
    margin: 0;
    line-height: 1.5;
    font-family: "Open Sans", sans-serif;
}

.alert-message strong {
    font-weight: 700;
    color: #92400E;
}

.alert-recharge-button {
    background-color: #F59E0B;
    color: #FFFFFF;
    border: none;
    border-radius: 12px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    flex-shrink: 0;
}

.alert-recharge-button:hover {
    background-color: #D97706;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}

.alert-recharge-button i {
    font-size: 14px;
}

/* Alert pour projet bloqué */
.project-locked-alert {
    background: linear-gradient(135deg, #FEE2E2 0%, #FECACA 100%);
    border: 1px solid #FCA5A5;
    border-radius: 16px;
    padding: 20px 24px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.15);
}

.project-locked-alert .alert-icon {
    width: 48px;
    height: 48px;
    background-color: #DC2626;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    flex-shrink: 0;
}

.project-locked-alert .alert-icon i {
    font-size: 20px;
}

.project-locked-alert .alert-title {
    font-size: 18px;
    font-weight: 700;
    color: #991B1B;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.project-locked-alert .alert-message {
    font-size: 14px;
    font-weight: 400;
    color: #7F1D1D;
    margin: 0;
    line-height: 1.5;
    font-family: "Open Sans", sans-serif;
}

.project-locked-alert .alert-message strong {
    font-weight: 700;
    color: #991B1B;
}

.form-hint{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 12px; /* 100% */
}

.form-group textarea{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    padding: 1rem;
    font-family: "Open Sans", sans-serif;
}

.form-group select{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    padding: 1rem;
}

.form-actions{
    display: flex;
    align-items: center;
    gap: 20px;
}

.form-actions .cancel-button{
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    height: 44px;
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--Color2, #6E7F93);
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 12px; /* 75% */
}

.form-actions .submit-button{
    border-radius: 15px;
    background: #0A58A5;
    display: flex;
    width: 50%;
    height: 44px;
    padding: 16px 182px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 12px; /* 75% */
    border: none;
}

/* Projects Modal Styles */
.projects-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.projects-modal.show {
    display: flex;
}

.projects-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
}

.projects-modal-content {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 20px;
    width: 100%;
    max-width: 50%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    z-index: 1001;
}

.projects-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #DFE5EC;
    background: var(--gradient4, linear-gradient(180deg, #E6ECF5 0%, #FFF 100%));

}

.projects-modal-header h3 {
    font-size: 20px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.projects-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background-color: transparent;
    border: none;
    border-radius: 6px;
    color: #6E7F93;
    cursor: pointer;
    transition: all 0.2s ease;
}

.projects-modal-close:hover {
    background-color: #F8F9FA;
    color: #223245;
}

.projects-modal-body {
    padding: 24px;
}

.projects-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 20px;
}

.project-item {
    display: block;
    padding: 16px;
    border: 1px solid #DFE5EC;
    border-radius: 16px;
    text-decoration: none;
    color: inherit;
    transition: all 0.2s ease;
}

.project-item:hover {
    background-color: #FFFFFF;
    border-color: #0A58A5;
    box-shadow: 0 2px 8px rgba(10, 88, 165, 0.1);
    text-decoration: none;
    color: inherit;
    border: 1px solid #0A58A5;
    background: rgba(10, 88, 165, 0.06);
}

.project-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.project-item-name {
    font-size: 16px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.project-item-progress {
    font-size: 14px;
    font-weight: 600;
    color: #0A58A5;
    font-family: "Open Sans", sans-serif;
}

.project-item-description {
    font-size: 14px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0 0 8px 0;
    line-height: 1.5;
    font-family: "Open Sans", sans-serif;
}

.project-item-status {
    margin-top: 8px;
}

.status-badge {
    display: inline-block;
    padding: 1px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    border: 1px solid;
}

.status-badge.status-termine {
    background-color: rgba(89, 178, 36, 0.06);
    color: #59B224;
    border-color: #59B224;
}

.status-badge.status-en_pause {
    background-color: #FEE2E2;
    color: #DC2626;
}

.status-badge.status-en_cours{
    border-radius: 6px;
    border: 1px solid var(--Color, #F90);
    background: rgba(255, 153, 1, 0.07);
    color: #F90;
}

.status-badge.status-nouveau{
    border-radius: 6px;
    border: 1px solid #0A58A5;
    background: rgba(10, 88, 165, 0.07);
    color: #0A58A5;
}

.sidebar-module-project-card{
    border-radius: 15px;
    background: var(--deep-dark-concree, #172735);
    padding: 15px;
}

.sidebar-module-project-card h3{
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 14px; /* 100% */
}

.sidebar-module-project-card p{
    color: #FFF;
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
    line-height: 10px; /* 100% */
    margin: 10px 0;
}

.sidebar-module-progress-header{
    color: rgba(255, 255, 255, 0.50);
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
    line-height: 10px; /* 100% */
    display: flex;
    align-items: center;
    justify-content: space-between !important;
}

a.exit-button{
    display: flex !important;
    align-items: center;
    padding: 0 0 !important;
}

.sidebar-module-project-card .sidebar-module-project-title{
    justify-content: start !important;
}

.sidebar-module-progress-bar{
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.10);
    height: 6px;
    width: 100%;
    margin-top: 6px;
}

.sidebar-module-progress-fill{
    border-radius: 20px;
    background: var(--gr9, linear-gradient(169deg, #E8F5E1 -1.09%, #EFE3D2 47.74%, #DDE9F5 100.12%));
    height: 100%;
}

.aide-button{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.aide-button span{
    color: #6E7F93;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
}

.sidebar-module-title{
    display: flex;
    align-items: center;
    gap: 10px;
}

.sidebar-module-title .sidebar-module-icon{
    width: 36px;
    height: 36px;
    color: #223245;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 14px; /* 87.5% */
}

.module-instruction h2{
    color: #223245;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 32px; /* 160% */
}

.module-instruction p{
    color: #6E7F93;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px; /* 157.143% */
}

.module-instruction{
    margin-bottom: 30px;
}


.simple-loader {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 48px;
    width: 500px;
    margin: 0 auto;
}

.simple-loader-spinner {
    width: 48px;
    height: 48px;
    border: 4px solid #E8F4FD;
    border-top-color: #0A58A5;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

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

.simple-loader-text {
    font-size: 16px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.project-page-header-left{
    display: flex;
    align-items: center;
    gap: 10px;
}

.project-page-header-left a{
    display: flex;
    align-items: center;
    gap: 5px;
}

.project-page-header-left i{
    border-radius: 23px;
    background: #FFF;
    width: 23px;
    height: 23px;
    /* gr1 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: #0A58A5;
    font-weight: 600;
}

.project-page-header-left span{
    color: var(--Color1, #223245);
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 14px; /* 116.667% */
}

.project-page-header-content{
    padding: 30px;
    padding-bottom: 0;
}

.projects-page-title h1{
    color: var(--Color1, #223245);
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px; /* 110% */
}

.projects-page-title p{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 14px; /* 116.667% */
    margin-top: 7px;
}

.projects-page-title a{
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 12px;
    border: 1px solid var(--Color-2, #0A58A5);
    height: 44px;
    padding: 11px 25px;
    width: fit-content;
}

.projects-page-title a span{
    color: var(--Color-2, #0A58A5);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px; /* 142.857% */
}

.projects-page-title{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ========== Project Show Back Link ========== */
.project-show-back-link{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    color: var(--Color2, #6E7F93);
    text-decoration: none;
    transition: all 0.2s;
}

.project-show-back-link:hover{
    background: rgba(10, 88, 165, 0.08);
    color: #0A58A5;
}

.project-show-back-link i{
    font-size: 13px;
}

/* ========== Project Show Animations ========== */

.project-page-header-content{
    animation: fadeUp 0.4s ease-out both;
}

.projects-page-title{
    animation: fadeUp 0.5s ease-out 0.1s both;
}

.project-show-nav{
    animation: fadeUp 0.4s ease-out 0.2s both;
}

.project-show-description{
    animation: fadeUp 0.4s ease-out 0.25s both;
}

.project-steps-section h2{
    animation: fadeUp 0.4s ease-out 0.3s both;
}

.project-locked-alert{
    animation: fadeUp 0.5s ease-out 0.3s both;
}

.project-insufficient-credits-alert{
    animation: fadeUp 0.5s ease-out 0.3s both;
}

.project-step-card{
    animation: scaleIn 0.5s ease-out both;
}

.project-step-card:nth-child(1){ animation-delay: 0.3s; }
.project-step-card:nth-child(2){ animation-delay: 0.4s; }
.project-step-card:nth-child(3){ animation-delay: 0.5s; }
.project-step-card:nth-child(4){ animation-delay: 0.55s; }
.project-step-card:nth-child(5){ animation-delay: 0.6s; }
.project-step-card:nth-child(6){ animation-delay: 0.65s; }
.project-step-card:nth-child(7){ animation-delay: 0.7s; }
.project-step-card:nth-child(n+8){ animation-delay: 0.75s; }

.project-show-content-section .settings-card,
.project-show-content-section .project-danger-zone{
    animation: fadeUp 0.5s ease-out 0.2s both;
}

/* ========== Project Danger Zone ========== */

.project-danger-zone{
    border-radius: 16px;
    border: 1px solid #FECACA;
    background: #fff;
    overflow: hidden;
    margin-top: 20px;
}

.project-danger-zone-header{
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 24px 28px;
    background: linear-gradient(135deg, #FEF2F2 0%, #FFF5F5 100%);
    border-bottom: 1px solid #FECACA;
}

.project-danger-zone-icon{
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #FEE2E2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.project-danger-zone-icon i{
    font-size: 20px;
    color: #DC2626;
}

.project-danger-zone-header h2{
    color: #991B1B;
    font-size: 17px;
    font-weight: 700;
    line-height: 24px;
    margin-bottom: 4px;
}

.project-danger-zone-header p{
    color: #7F1D1D;
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
}

.project-danger-zone-details{
    padding: 20px 28px;
    border-bottom: 1px solid #FEE2E2;
}

.project-danger-zone-info{
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 10px;
    background: #FFFBEB;
    border: 1px solid #FDE68A;
}

.project-danger-zone-info i{
    font-size: 14px;
    color: #D97706;
    margin-top: 2px;
    flex-shrink: 0;
}

.project-danger-zone-info span{
    color: #92400E;
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
}

.project-danger-zone-action{
    padding: 20px 28px;
    display: flex;
    justify-content: flex-end;
}

.project-danger-zone-form{
    display: inline;
}

.project-danger-zone-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 12px;
    background: #DC2626;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.25);
}

.project-danger-zone-btn:hover{
    background: #B91C1C;
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.35);
    transform: translateY(-1px);
}

.project-danger-zone-btn:active{
    transform: translateY(0);
}

.project-danger-zone-btn i{
    font-size: 14px;
}

/* ========== Project Index Animations ========== */

.page-project-header-content{
    animation: fadeUp 0.4s ease-out both;
}

.page-project-header-content .projects-index-page-header-right{
    animation: scaleIn 0.4s ease-out 0.15s both;
}

.projects-filters{
    position: relative;
    z-index: 10;
    animation: fadeUp 0.4s ease-out 0.15s both;
}

.project-card{
    animation: scaleIn 0.5s ease-out both;
}

.project-card:nth-child(1){ animation-delay: 0.2s; }
.project-card:nth-child(2){ animation-delay: 0.3s; }
.project-card:nth-child(3){ animation-delay: 0.4s; }
.project-card:nth-child(4){ animation-delay: 0.45s; }
.project-card:nth-child(5){ animation-delay: 0.5s; }
.project-card:nth-child(6){ animation-delay: 0.55s; }
.project-card:nth-child(n+7){ animation-delay: 0.6s; }

.status-filters{
    position: relative;
    z-index: 10;
}

.status-filters .user-dropdown-menu{
    bottom: -180px !important;
}


/* ========== Project New Animations ========== */

.new-project-header{
    animation: fadeUp 0.4s ease-out both;
}

.new-project-question{
    animation: fadeUp 0.4s ease-out 0.1s both;
}

.creation-card{
    animation: scaleIn 0.5s ease-out both;
}

.creation-card:nth-child(1){ animation-delay: 0.15s; }
.creation-card:nth-child(2){ animation-delay: 0.25s; }
.creation-card:nth-child(3){ animation-delay: 0.35s; }

.quick-selection-title{
    animation: fadeUp 0.4s ease-out 0.1s both;
}

.quick-selection-card{
    animation: scaleIn 0.5s ease-out both;
}

.quick-selection-card:nth-child(1){ animation-delay: 0.1s; }
.quick-selection-card:nth-child(2){ animation-delay: 0.2s; }
.quick-selection-card:nth-child(3){ animation-delay: 0.3s; }
.quick-selection-card:nth-child(n+4){ animation-delay: 0.35s; }

.view-catalog-link{
    animation: fadeUp 0.4s ease-out 0.4s both;
}

.start-button-container{
    animation: fadeUp 0.4s ease-out 0.45s both;
}

/* ========== Project New Manual Animations ========== */

.new-manual-project-page{
    animation: fadeUp 0.4s ease-out 0.1s both;
}

.manual-project-subtitle{
    animation: fadeUp 0.4s ease-out 0.15s both;
}

.manual-project-form .form-group{
    animation: fadeUp 0.4s ease-out both;
}

.manual-project-form .form-group:nth-child(1){ animation-delay: 0.2s; }
.manual-project-form .form-group:nth-child(2){ animation-delay: 0.3s; }
.manual-project-form .form-group:nth-child(3){ animation-delay: 0.4s; }
.manual-project-form .form-group:nth-child(4){ animation-delay: 0.5s; }

.manual-project-form .form-actions{
    animation: fadeUp 0.4s ease-out 0.55s both;
}

/* Manual Project New Animations */
.manual-project-wrapper .detailed-profile-section{
    animation: fadeUp 0.4s ease-out 0.1s both;
}

.module-page{
    width: 100%;
    max-width: 100% !important;
    padding: 0 !important;
    background-color: #fff;
}

.explorer-users-content{
    display: flex;
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — Mobile & Tablet (max-width: 768px)
   ═══════════════════════════════════════════════════ */

@media (max-width: 768px){

    .page-project-header-content p, .add-project-button span{
        display: none;
    }

    .page-header-content h1{
        font-size: 16px !important;
    }

    .segment-help-modal-content{
        max-width: 95% !important;
    }

    .discussions-page-title span{
        font-size: 18px !important;
    }

    .projects-index-page{
        margin-top: 20px;
    }

    .projects-grid{
        display: flex;
        flex-direction: column;
        margin-bottom: 20px;
    }

    .project-page-header-content{
        padding: 20px;
        border-bottom: 1px solid var(--Contour-Color, #DFE5EC);
    }

    .project-creation-cards{
        flex-direction: column;
    }

    .creation-card{
        width: 100%;
    }

    .projects-page-title a span, .projects-page-title p{
        display: none;
    }

    .discussions-page-title .project-cohorte-star-container{
        display: none;
    }

    .project-cohorte-mobile-only{
        display: flex;
        margin-top: 12px;
    }

    .project-steps-grid, .quick-selection-cards{
        display: flex;
        flex-direction: column;
    }

    .start-button{
        width: 100%;
    }

    .form-actions{
        flex-direction: column-reverse;
    }

    .form-actions .cancel-button, .form-actions .submit-button{
        width: 100%;
        justify-content: center;
        padding: 0;
    }

    .generate-segments-button{
        width: 100% !important;
    }

    .welcome-modal-content{
        max-width: 100% !important;
    }

    .projects-page-index-content{
        height: calc(100vh - 77.5px - 56px);
    }

    .projects-page{
        height: calc(100% - 64px);
    }

}
.chat-content{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: linear-gradient(180deg, #DFE5EC -3.26%, #FFF 38.49%);
    height: calc(100vh - 52px) !important;

    /* gr2 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    margin: 28px 30px !important;
    padding: 20px 0;
}


/* ===== Discussions Index Page Header (style tendances) ===== */
.discussions-content{
    height: calc(100vh - 77.5px - 56px);
}

.discussions-page-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 64px;
    padding: 0 30px;
    animation: chatFadeUp 0.4s ease-out both;
}

.discussions-page-header-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.discussions-page-header-left a{
    color: #0A58A5;
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

.discussions-page-title{
    display: flex;
    align-items: center;
    gap: 8px;
}

.discussions-page-title img{
    width: 22px;
    height: 22px;
}

.discussions-page-title span{
    font-family: "Open Sans";
    font-size: 24px;
    font-weight: 700;
    line-height: 20px;
}

.discussions-new-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 12px;
    background: #0A58A5;
    padding: 0 17px;
    height: 38px;
    text-decoration: none;
    transition: background 0.2s;
}

.discussions-new-btn:hover{
    background: #084a8a;
}

.discussions-new-btn span{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 700;
    line-height: 20px;
}

.discussions-page-layout{
    padding: 30px;

    height: calc(100vh - 64px);
    overflow: auto;
}

.chats-page{
    margin-top: 0;
}

.messages-page{
    padding: 0 0 !important;

}

.chat-new-discussion-button{
    max-width: 230px !important;
}

.chat-sessions-search{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.chat-message.ai{
    max-width: 100%;
}

.discussions-count{
    color: var(--Color1, #223245);
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 100% */
}

.chat-sessions-search .search-form{
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
}

.search-bar{
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.discussions-section{
    margin-top: 30px;
    animation: chatFadeUp 0.5s ease-out 0.1s both;
}

.discussions-list{
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding-bottom: 30px;
}

/* Empty state */
.discussions-empty-state{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 60px 24px;
    animation: chatFadeUp 0.5s ease-out 0.1s both;
}

.discussions-empty-icon{
    margin-bottom: 24px;
    opacity: 0.6;
}

.discussions-empty-title{
    font-family: "Open Sans";
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 8px 0;
}

.discussions-empty-description{
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 400;
    color: #64748b;
    line-height: 1.6;
    max-width: 420px;
    margin: 0 0 28px 0;
}

.discussions-empty-cta{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px !important;
    border-radius: 12px !important;
    background: #0A58A5 !important;
    color: #fff;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}

.discussions-empty-cta:hover{
    background: #084a8a;
}

.discussions-empty-cta i{
    font-size: 12px;
}

.chat-content .project-page-header-content{
    padding: 0 20px;
    border-bottom: 1px solid var(--Contour-Color, #DFE5EC);
    padding-bottom: 20px;
}

.chat-disclaimer{
    display: none;
}

.discussions-list a.discussion-card{
    animation: chatScaleIn 0.5s ease-out both;
}

.discussions-list a.discussion-card:nth-child(1){ animation-delay: 0.2s; }
.discussions-list a.discussion-card:nth-child(2){ animation-delay: 0.3s; }
.discussions-list a.discussion-card:nth-child(3){ animation-delay: 0.4s; }
.discussions-list a.discussion-card:nth-child(4){ animation-delay: 0.45s; }
.discussions-list a.discussion-card:nth-child(5){ animation-delay: 0.5s; }
.discussions-list a.discussion-card:nth-child(6){ animation-delay: 0.55s; }
.discussions-list a.discussion-card:nth-child(7){ animation-delay: 0.6s; }
.discussions-list a.discussion-card:nth-child(8){ animation-delay: 0.65s; }
.discussions-list a.discussion-card:nth-child(n+9){ animation-delay: 0.7s; }

.discussions-list a{
    border-bottom: 1px solid var(--stroke-1, #DFE5EC);
    display: flex;
    align-items: center;
    gap: 19px;
    padding: 24px;
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;

    /* gr2 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
}

.discussion-content-left{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.discussion-content-container{
    display: flex;
    align-items: start;
    justify-content: space-between;
    width: 100%;
}

.discussion-content-right{
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: end;
    gap: 14px;
}

.chat-actions{
    display: flex;
    align-items: center;
    gap: 15px;
    display: none;
    transition: all 0.2s ease;
}

.discussions-list a:hover .chat-actions{
    display: flex;
}

.discussion-content-right button{
    border: none;
}

.discussion-title{
    color: var(--Color1, #223245);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 125% */
}

.discussion-description{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 18px; /* 100% */
    margin-top: 10px;
}

.discussion-meta{
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 10px;
}

.discussion-tag{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    padding: 8px 15px;
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 14px; /* 116.667% */
}

.discussion-info, .message-count{
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 166.667% */
}

.discussion-date{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 166.667% */
}

.chat-messages {
    height: calc(100vh - 270px);
    overflow: scroll;
    width: 70%;
    margin: 0 auto;
    padding-top: 30px;
    padding-bottom: 30px;
    display: flex;
    flex-direction: column;
    gap: 21px;
}

.chat-message{
    max-width: 80%;
}

.chat-message.ai .message-bubble{
    
}

.chat-message.user{
    align-self: flex-end;
    justify-self: end;

}

.chat-message.user .message-bubble{
    border-radius: 15px 15px 0 15px;
    background: rgba(10, 88, 165, 0.10);
    padding: 14px 20px;
}

.chat-message p{
    color: var(--Color0, #445972);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px; /* 157.143% */
}

.message-time{
    color: var(--Color2, #6E7F93);
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
    line-height: 12px;
    margin-top: 8px;
}

.chat-message.user .message-time{
    text-align: right;
}

/* Welcome message (nouvelle discussion sans contexte) */
.chat-welcome-message{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 60px 30px;
    margin: auto 0;
    animation: chatWelcomeFadeIn 0.7s ease-out both;
}

.welcome-icon{
    width: 64px;
    height: 64px;
    border-radius: 20px;
    background: linear-gradient(135deg, #EFF6FF 0%, #F0F4FF 100%);
    border: 1px solid #BEDBFF;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.welcome-icon .ai-icon-medium{
    width: 32px;
    height: 32px;
}

.welcome-text{
    color: #445972;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    max-width: 420px;
}

@keyframes chatWelcomeFadeIn{
    from{
        opacity: 0;
        transform: translateY(15px) scale(0.97);
    }
    to{
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.chat-input-container{
    height: 150px;
    border-radius: 0 0 25px 25px;
    border-top: 1px solid var(--Contour-Color, #DFE5EC);
    display: flex;
    align-items: center;
    justify-content: center;
}

.chat-input-wrapper{
    display: flex;
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    /* gr2 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    justify-content: space-between;
    flex-direction: column;
    align-items: end;
    padding: 20px;
    gap: 5px;
    width: 75%;
    margin: 0 auto;
}

.chat-input-wrapper input{
    width: 100%;
    background-color: transparent;
    border: none;
    color: var(--Color0, #445972);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;

}

.send-button{
    border-radius: 10px;
    background: #0A58A5;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    border: none;
}

.chat-disclaimer{
    text-align: center;
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 12px; /* 100% */
    margin-top: 10px;
}

/* Post-diagnostic actions */
.diagnostic-post-actions{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    justify-content: center;
    padding: 20px 15%;
    animation: fadeUp 0.4s ease-out both;
    height: 150px;
    margin: 0 auto;
    border-top: 1px solid var(--Contour-Color, #DFE5EC);
}

.diagnostic-action-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    height: 44Px;
    border-radius: 12px;
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
    width: 50%;
}

.diagnostic-action-btn:active{
    transform: scale(0.97);
}

.diagnostic-action-btn.primary{
    background: #0A58A5;
    color: #fff;
    display: flex;
    justify-content: center;
}

.diagnostic-action-btn.primary:hover{
    background: #084a8a;
    box-shadow: 0 2px 8px rgba(10, 88, 165, 0.25);
}

.diagnostic-action-btn.secondary{
    color: #0A58A5;
    display: flex;
    justify-content: center;
    border: 1px solid #0A58A5;
}

.diagnostic-action-btn.secondary:hover{
    background: rgba(10, 88, 165, 0.14);
}

@keyframes fadeUp {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Animation IA en train d'écrire */
.chat-message.loading .message-bubble{
    display: inline-flex;
    align-items: center;
    padding: 12px 20px;
}

.loading-dots{
    display: flex;
    align-items: center;
    gap: 4px;
}

.loading-dots span{
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #586D85;
    animation: dot-pulse 1.4s infinite ease-in-out both;
}

.loading-dots span:nth-child(1){
    animation-delay: 0s;
}

.loading-dots span:nth-child(2){
    animation-delay: 0.2s;
}

.loading-dots span:nth-child(3){
    animation-delay: 0.4s;
}

@keyframes dot-pulse{
    0%, 80%, 100%{
        transform: scale(0.4);
        opacity: 0.4;
    }
    40%{
        transform: scale(1);
        opacity: 1;
    }
}

.chat-page-header-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 30px;
    padding-bottom: 0;
}

.chat-page-header-content h1{
    color: var(--Color1, #223245);
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px; /* 75% */
}

.chat-page-header-content p{
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 12px; /* 85.714% */
    margin-top: 10px;
}

.chat-sessions-filters{
    display: flex;
    align-items: center;
    justify-content: space-between;
    animation: chatFadeUp 0.5s ease-out 0.15s both;
    position: relative;
    z-index: 10;
}

.chat-sessions-filters .search-filters-container{
    width: 65%;
    justify-content: end;
}

.chat-sessions-filters h2{
    color: var(--Color1, #223245);
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 100% */
}

.search-filters-container form,
.search-filters-container .search-bar{
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    max-width: 400px;
    height: 42px;
    padding-left: 10px;
    width: 80%;
}

input.search-input {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: 15px;
}



.chat-page-header-content a{
    border-radius: 15px;
background: #0A58A5;
padding: 12px 17px;
display: flex;
align-items: center;
gap: 10px;
height: 44px;
color: #FFF;
font-size: 14px;
font-style: normal;
font-weight: 700;
line-height: 20px; /* 142.857% */
justify-content: center;
}

.chat-view-project-link{
    border-radius: 10px;
    background: #0A58A5;
    padding: 8px 16px;
    color: #FFF;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}

.chat-view-project-link:hover{
    background: #084a8a;
}

.diagnostic-chat-title{
    font-family: "Open Sans";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px; /* 91.667% */
    background: var(--Dgrad, linear-gradient(97deg, #0A58A5 -8.25%, #161921 134.93%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.diagnostic-chat-subtitle{
    color: #5F6D7E;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 142.857% */
    margin-top: 5px;
}

.diagnostic-chat-idea-info{
    margin: 20px 0;
    border-radius: 20px;
    border: 1px solid #BEDBFF;
    background: linear-gradient(135deg, #EFF6FF 0%, #EEF2FF 100%);
    padding: 30px;
}

.diagnostic-chat-idea-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}


.diagnostic-chat-idea-title{
    color: #5F6D7E;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 16px; /* 133.333% */
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.diagnostic-chat-idea-value{
    margin: 10px 0;
    color: #223245;
    font-family: "Open Sans";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px; /* 155.556% */
}

.diagnostic-chat-idea-field p{
    color: #223245;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 22.75px; /* 162.5% */
}

.diagnostic-chat-edit-button{
    display: flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    padding: 6px 12px;
    color: #586D85;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}

.diagnostic-chat-edit-button:hover{
    background: #F6F7F8;
    color: #22364D;
}

.diagnostic-chat-global-score{
    border-radius: 20px;
    border: 1px solid var(--Linear, #DFE5EC);
    background: #F6F7F8;
    padding: 30px;
    margin-top: 20px;
}

.diagnose{
    display: flex;
    align-items: center;
    gap: 16px;
}

.diagnose .diagnostic-chat-global-score-value{
    border-right: 1px solid #DFE5EC;
    padding-right: 16px;
}

.diagnostic-chat-global-score-value{
    font-family: "Open Sans";
    font-size: 60px;
    font-style: normal;
    font-weight: 700;
    line-height: 60px; /* 100% */
}

.diagnostic-chat-global-score-label{
    font-family: "Open Sans";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px; /* 155.556% */
}

.diagnostic-chat-global-score-text{
    color: #5F6D7E;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
}

.diagnostic-chat-global-comment{
    color: #223245;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 22.75px; /* 162.5% */
    margin-top: 10px;
}

.diagnostic-chat-criteria{
}

.diagnostic-chat-criteria-row{
    display: flex;
    align-items: stretch;
    gap: 20px;
    margin-bottom: 20px;
}

.diagnostic-chat-criterion{
    width: 50%;
    border-radius: 20px;
    border: 1px solid var(--Linear, #DFE5EC);
    background: #F6F7F8;
    padding: 17px 21px;
    /* gr2 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
}

.diagnostic-chat-criterion-header{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 26px; /* 162.5% */
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.diagnostic-chat-progress-bar{
    width: 100%;
    height: 8px;
    background-color: #E5E7EB;
    border-radius: 4px;
    overflow: hidden;
    margin: 8px 0;
}

.diagnostic-chat-progress-fill{
    height: 100%;
    border-radius: 4px;
    transition: width 0.6s ease;
}

.diagnostic-chat-criterion-comment{
    margin-top: 10px;
    color: var(--Variable-texte-2, #586D85);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 166.667% */
}

.diagnostic-chat-recommendations-title{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px; /* 112.5% */
}

.diagnostic-chat-recommendations-list{
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 10px;
}

.diagnostic-chat-recommendation-title{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 26px; /* 162.5% */
}

.diagnostic-chat-recommendation-text{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
}

.diagnostic-chat-recommendation{
    border-radius: 20px;
    border: 1px solid var(--Contour-Color, #DFE5EC);
    padding: 20px;
}

/* Modal d'édition du diagnostic */
.diagnostic-edit-modal{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    align-items: center;
    justify-content: center;
}

.diagnostic-edit-modal.show{
    display: flex;
}

.diagnostic-edit-modal-overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}

.diagnostic-edit-modal-content{
    position: relative;
    background: #fff;
    border-radius: 16px;
    width: 500px;
    max-width: 90%;
    max-height: 85vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    z-index: 1;
}

.diagnostic-edit-modal-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #DFE5EC;
}

.diagnostic-edit-modal-header h3{
    color: #22364D;
    font-family: "Open Sans";
    font-size: 18px;
    font-weight: 700;
    margin: 0;
}

.diagnostic-edit-modal-close{
    background: none;
    border: none;
    color: #586D85;
    cursor: pointer;
    padding: 4px;
    border-radius: 6px;
    transition: background 0.2s;
}

.diagnostic-edit-modal-close:hover{
    background: #F6F7F8;
}

.diagnostic-edit-modal-body{
    padding: 24px;
}

.diagnostic-edit-form .form-group{
    margin-bottom: 16px;
}

.diagnostic-edit-form .form-label{
    display: block;
    color: #22364D;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 6px;
}

.diagnostic-edit-form .form-input,
.diagnostic-edit-form .form-textarea,
.diagnostic-edit-form .form-select{
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #DFE5EC;
    border-radius: 10px;
    font-family: "Open Sans";
    font-size: 14px;
    color: #22364D;
    background: #F6F7F8;
    outline: none;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.diagnostic-edit-form .form-input:focus,
.diagnostic-edit-form .form-textarea:focus,
.diagnostic-edit-form .form-select:focus{
    border-color: #008236;
}

.diagnostic-edit-form .form-textarea{
    resize: vertical;
}

.diagnostic-edit-modal-actions{
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid #DFE5EC;
    margin-top: 8px;
}

.diagnostic-edit-modal-cancel{
    padding: 10px 20px;
    border: 1px solid #DFE5EC;
    border-radius: 10px;
    background: #fff;
    color: #586D85;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.diagnostic-edit-modal-cancel:hover{
    background: #F6F7F8;
}

.diagnostic-edit-modal-save{
    padding: 10px 20px;
    border: none;
    border-radius: 10px;
    background: #0A58A5;
    color: #fff;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.diagnostic-edit-modal-save:hover{
    background: #006a2b;
}

.chat-actions-container{
    
    height: 150px;
    padding: 0 20px;
    border-radius: 0 0 25px 25px;
border: 1px solid var(--Contour-Color, #DFE5EC);
background: linear-gradient(356deg, #E6ECF5 -58.42%, #FFF 97.1%);
}

.chat-actions-wrapper{
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    width: calc(80% + 40px);
    margin: 0 auto;
}

.chat-action-button{
    border-radius: 15px;
    height: 46px;
    padding: 14px 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50%;
}

.chat-action-button-primary{
    background: #0A58A5;
    color: #FFF;
    font-family: "Open Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px; /* 112.5% */
}

.chat-action-button-secondary{
    border-radius: 15px;
    border: 1px solid var(--Bleu, #0A58A5);
    color: var(--Color-2, #0A58A5);
    font-family: "Open Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px; /* 112.5% */
}

/* ═══════════════════════════════════════════════════
   TENDANCE CHAT CARD — Carte tendance en haut du chat
   ═══════════════════════════════════════════════════ */

.tendance-chat-card{
    border-radius: 20px;
    border: 1px solid #BEDBFF;
    background: linear-gradient(135deg, #EFF6FF 0%, #EEF2FF 100%);
    padding: 24px 28px;
    margin-bottom: 10px;
    animation: chatScaleIn 0.5s ease-out both;
}

.tendance-chat-header{
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.tendance-chat-icon{
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0A58A5, #3B82F6);
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.tendance-chat-title{
    font-size: 18px;
    font-weight: 700;
    color: #223245;
    line-height: 24px;
    margin: 0;
}

.tendance-chat-meta{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.tendance-chat-category{
    border-radius: 6px;
    background: linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%);
    padding: 2px 8px;
    color: #FFF;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.tendance-chat-separator{
    color: #B5C1D0;
    font-size: 10px;
}

.tendance-chat-sector{
    color: #6E7F93;
    font-size: 12px;
    font-weight: 500;
}

.tendance-chat-growth{
    border-radius: 7px;
    font-size: 12px;
    font-weight: 700;
    padding: 2px 8px;
}

.tendance-chat-growth.green{
    border: 1px solid #59B224;
    background: rgba(89, 178, 36, 0.10);
    color: #59B224;
}

.tendance-chat-growth.red{
    border: 1px solid #FC121B;
    background: rgba(252, 18, 27, 0.08);
    color: #FC121B;
}

.tendance-chat-tag-explosif{
    border-radius: 6px;
    background: linear-gradient(135deg, #F59E0B, #EF4444);
    padding: 2px 8px;
    color: #FFF;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.tendance-chat-content{
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(10, 88, 165, 0.1);
}

.tendance-chat-description{
    color: #445972;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
}

.tendance-chat-opportunities{
    margin-top: 14px;
}

.tendance-chat-opportunities-header{
    display: flex;
    align-items: center;
    gap: 8px;
    color: #223245;
    font-size: 13px;
    font-weight: 700;
}

.tendance-chat-opportunities-header i{
    color: #F59E0B;
}

.tendance-chat-opportunities-list{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.tendance-chat-opportunity-tag{
    border-radius: 16px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    padding: 5px 14px;
    color: #445972;
    font-size: 12px;
}

.tendance-chat-opportunities-buttons{
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}

.tendance-chat-opportunity-btn{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 12px;
    border: 1px solid rgba(10, 88, 165, 0.15);
    background: #FFF;
    color: #223245;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s ease;
}

.tendance-chat-opportunity-btn:hover{
    background: #EFF6FF;
    border-color: #0A58A5;
    color: #0A58A5;
    transform: translateX(4px);
}

.tendance-chat-opportunity-btn i{
    color: #0A58A5;
    font-size: 11px;
    flex-shrink: 0;
}

.tendance-chat-opportunity-btn:nth-child(1){ animation: fadeUp 0.3s ease-out 0.1s both; }
.tendance-chat-opportunity-btn:nth-child(2){ animation: fadeUp 0.3s ease-out 0.2s both; }
.tendance-chat-opportunity-btn:nth-child(3){ animation: fadeUp 0.3s ease-out 0.3s both; }
.tendance-chat-opportunity-btn:nth-child(4){ animation: fadeUp 0.3s ease-out 0.4s both; }
.tendance-chat-opportunity-btn:nth-child(5){ animation: fadeUp 0.3s ease-out 0.5s both; }

/* ═══════════════════════════════════════════════════
   IDÉE DU JOUR — Chat Card
   ═══════════════════════════════════════════════════ */

.idee-chat-card{
    border-radius: 20px;
    border: 1px solid #FFD6A5;
    background: linear-gradient(135deg, #FFF7ED 0%, #FEF3E2 100%);
    padding: 24px 28px;
    margin-bottom: 10px;
    animation: chatScaleIn 0.5s ease-out both;
}

.idee-chat-header{
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.idee-chat-icon{
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #F59E0B, #F97316);
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 18px;
}

.idee-chat-title{
    font-size: 18px;
    font-weight: 700;
    color: #223245;
    line-height: 24px;
    margin: 0;
}

.idee-chat-meta{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.idee-chat-category{
    border-radius: 6px;
    background: linear-gradient(135deg, #F59E0B, #F97316);
    padding: 2px 8px;
    color: #FFF;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.idee-chat-separator{
    color: #D1C4B0;
    font-size: 10px;
}

.idee-chat-complexity,
.idee-chat-budget{
    color: #6E7F93;
    font-size: 12px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 4px;
}

.idee-chat-complexity i,
.idee-chat-budget i{
    font-size: 10px;
    color: #F59E0B;
}

.idee-chat-content{
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(245, 158, 11, 0.15);
}

.idee-chat-description{
    color: #445972;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    margin: 0 0 16px 0;
}

.idee-chat-highlights{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.idee-chat-highlight{
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.idee-chat-highlight-icon{
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 13px;
}

.idee-chat-highlight-icon.problem{
    background: rgba(239, 68, 68, 0.1);
    color: #EF4444;
}

.idee-chat-highlight-icon.opportunity{
    background: rgba(16, 185, 129, 0.1);
    color: #10B981;
}

.idee-chat-highlight-content strong{
    font-size: 12px;
    font-weight: 700;
    color: #223245;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.idee-chat-highlight-content p{
    font-size: 13px;
    color: #6E7F93;
    line-height: 20px;
    margin: 2px 0 0 0;
}

.idee-chat-financials{
    display: flex;
    gap: 10px;
    margin-top: 16px;
    flex-wrap: wrap;
}

.idee-chat-financial-item{
    flex: 1;
    min-width: 100px;
    background: #FFF;
    border: 1px solid rgba(245, 158, 11, 0.15);
    border-radius: 12px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.idee-chat-financial-label{
    font-size: 10px;
    font-weight: 600;
    color: #8B95A5;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.idee-chat-financial-value{
    font-size: 15px;
    font-weight: 700;
    color: #223245;
}

.idee-chat-financial-value.green{
    color: #10B981;
}

.idee-chat-financial-value.blue{
    color: #0A58A5;
}

.idee-chat-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(245, 158, 11, 0.12);
}

.idee-chat-score{
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
}

.idee-chat-score-bar{
    flex: 1;
    max-width: 120px;
    height: 6px;
    background: rgba(245, 158, 11, 0.15);
    border-radius: 3px;
    overflow: hidden;
}

.idee-chat-score-fill{
    height: 100%;
    background: linear-gradient(90deg, #F59E0B, #F97316);
    border-radius: 3px;
    transition: width 0.6s ease-out;
}

.idee-chat-score-text{
    font-size: 13px;
    font-weight: 700;
    color: #F59E0B;
    white-space: nowrap;
}

.idee-chat-interest{
    font-size: 12px;
    font-weight: 600;
    color: #6E7F93;
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.idee-chat-interest i{
    color: #0A58A5;
    font-size: 11px;
}

/* ═══════════════════════════════════════════════════
   OPPORTUNITÉ — Chat Card (Cartographie)
   ═══════════════════════════════════════════════════ */

.opportunite-chat-card{
    border-radius: 20px;
    border: 1px solid #B8D4F0;
    background: linear-gradient(135deg, #EFF6FF 0%, #F0F9FF 100%);
    padding: 24px 28px;
    margin-bottom: 10px;
    animation: chatScaleIn 0.5s ease-out both;
}

.opportunite-chat-header{
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.opportunite-chat-icon{
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0A58A5, #3B82F6);
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 16px;
}

.opportunite-chat-title{
    font-size: 18px;
    font-weight: 700;
    color: #223245;
    line-height: 24px;
    margin: 0;
}

.opportunite-chat-meta{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.opportunite-chat-type{
    border-radius: 6px;
    padding: 2px 8px;
    color: #FFF;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.opportunite-chat-type.besoin{
    background: #DC2626;
}

.opportunite-chat-type.ressource{
    background: #008236;
}

.opportunite-chat-type.infra{
    background: #0A58A5;
}

.opportunite-chat-separator{
    color: #B5C1D0;
    font-size: 10px;
}

.opportunite-chat-location{
    color: #0A58A5;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
}

.opportunite-chat-location i{
    font-size: 10px;
}

.opportunite-chat-impact{
    color: #6E7F93;
    font-size: 12px;
    font-weight: 500;
}

.opportunite-chat-impact strong{
    color: #223245;
}

.opportunite-chat-sector{
    color: #6E7F93;
    font-size: 12px;
    font-weight: 500;
}

.opportunite-chat-content{
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(10, 88, 165, 0.1);
}

.opportunite-chat-description{
    color: #445972;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    margin: 0 0 14px 0;
}

.opportunite-chat-keywords-header{
    display: flex;
    align-items: center;
    gap: 8px;
    color: #223245;
    font-size: 13px;
    font-weight: 700;
}

.opportunite-chat-keywords-header i{
    color: #0A58A5;
}

.opportunite-chat-keywords-list{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.opportunite-chat-keyword-tag{
    border-radius: 16px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    padding: 5px 14px;
    color: #0A58A5;
    font-size: 12px;
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════
   FICHE IDÉE — Chat Card
   ═══════════════════════════════════════════════════ */

.fiche-idee-chat-card{
    border-radius: 20px;
    border: 1px solid #D6BCFA;
    background: linear-gradient(135deg, #F5F3FF 0%, #EDE9FE 100%);
    padding: 24px 28px;
    margin-bottom: 10px;
    animation: chatScaleIn 0.5s ease-out both;
}

.fiche-idee-chat-header{
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.fiche-idee-chat-icon{
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #7C3AED, #A78BFA);
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 18px;
}

.fiche-idee-chat-title{
    font-size: 18px;
    font-weight: 700;
    color: #223245;
    line-height: 24px;
    margin: 0;
}

.fiche-idee-chat-meta{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.fiche-idee-chat-category{
    border-radius: 6px;
    background: linear-gradient(135deg, #7C3AED, #A78BFA);
    padding: 2px 8px;
    color: #FFF;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.fiche-idee-chat-separator{
    color: #C4B5E0;
    font-size: 10px;
}

.fiche-idee-chat-type{
    font-size: 11px;
    font-weight: 700;
    border-radius: 6px;
    padding: 2px 8px;
}

.fiche-idee-chat-type.gratuit{
    background: rgba(16, 185, 129, 0.1);
    color: #10B981;
}

.fiche-idee-chat-type.premium{
    background: rgba(245, 158, 11, 0.1);
    color: #F59E0B;
}

.fiche-idee-chat-author{
    color: #6E7F93;
    font-size: 12px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 4px;
}

.fiche-idee-chat-author i{
    color: #7C3AED;
    font-size: 10px;
}

.fiche-idee-chat-content{
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(124, 58, 237, 0.1);
}

.fiche-idee-chat-description{
    color: #445972;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    margin: 0 0 14px 0;
}

.fiche-idee-chat-sections{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.fiche-idee-chat-section{
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fiche-idee-chat-section-title{
    font-size: 12px;
    font-weight: 700;
    color: #223245;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}

.fiche-idee-chat-section-title i{
    font-size: 11px;
    color: #7C3AED;
}

.fiche-idee-chat-section-content{
    font-size: 13px;
    color: #6E7F93;
    line-height: 20px;
    margin: 0;
}

/* ═══════════════════════════════════════════════════
   R&D RECHERCHE — Chat Card
   ═══════════════════════════════════════════════════ */

.rd-recherche-chat-card{
    border-radius: 20px;
    border: 1px solid #A7F3D0;
    background: linear-gradient(135deg, #ECFDF5 0%, #F0FDF4 100%);
    padding: 24px 28px;
    margin-bottom: 10px;
    animation: chatScaleIn 0.5s ease-out both;
}

.rd-recherche-chat-header{
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.rd-recherche-chat-icon{
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, #059669, #34D399);
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 18px;
}

.rd-recherche-chat-title{
    font-size: 18px;
    font-weight: 700;
    color: #223245;
    line-height: 24px;
    margin: 0;
}

.rd-recherche-chat-meta{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 6px;
}

.rd-recherche-chat-category{
    border-radius: 6px;
    background: linear-gradient(135deg, #059669, #34D399);
    padding: 2px 8px;
    color: #FFF;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.rd-recherche-chat-separator{
    color: #86EFAC;
    font-size: 10px;
}

.rd-recherche-chat-location{
    font-size: 11px;
    font-weight: 700;
    border-radius: 6px;
    padding: 2px 8px;
}

.rd-recherche-chat-location.local{
    background: rgba(5, 150, 105, 0.1);
    color: #059669;
}

.rd-recherche-chat-location.international{
    background: rgba(10, 88, 165, 0.1);
    color: #0A58A5;
}

.rd-recherche-chat-trl{
    color: #6E7F93;
    font-size: 12px;
    font-weight: 500;
}

.rd-recherche-chat-trl strong{
    color: #059669;
}

.rd-recherche-chat-content{
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(5, 150, 105, 0.12);
}

.rd-recherche-chat-description{
    color: #445972;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    margin: 0 0 14px 0;
}

.rd-recherche-chat-sections{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rd-recherche-chat-problem-advantage{
    display: flex;
    gap: 12px;
}

.rd-recherche-chat-section{
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.rd-recherche-chat-section-title{
    font-size: 12px;
    font-weight: 700;
    color: #223245;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}

.rd-recherche-chat-section-title i{
    font-size: 11px;
    color: #059669;
}

.rd-recherche-chat-section-content{
    font-size: 13px;
    color: #6E7F93;
    line-height: 20px;
    margin: 0;
}

/* Animations page index discussions */
@keyframes chatFadeUp {
    from {
        opacity: 0;
        transform: translateY(25px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes chatScaleIn {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(20px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* ═══════════════════════════════════════════════════
   CHAT PROFILE NUDGE BANNER
   ═══════════════════════════════════════════════════ */

.chat-profile-nudge{
    padding: 0 20px;
    animation: chatNudgeFadeIn 0.6s ease-out both;
    animation-delay: 0.3s;
}

.chat-profile-nudge-content{
    display: flex;
    align-items: center;
    gap: 16px;
    border-radius: 16px;
    border: 1px solid #BEDBFF;
    background: linear-gradient(135deg, #EFF6FF 0%, #F0F4FF 100%);
    padding: 14px 20px;
    margin-top: 20px;
    position: absolute;
    left: 20px;
    right: 20px;
}

.chat-profile-nudge-icon{
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: linear-gradient(135deg, #0A58A5, #3B82F6);
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 15px;
}

.chat-profile-nudge-text{
    flex: 1;
    min-width: 0;
}

.chat-profile-nudge-text strong{
    color: #223245;
    font-family: "Open Sans", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 18px;
    display: block;
}

.chat-profile-nudge-text p{
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    margin: 2px 0 0 0;
}

.chat-profile-nudge-progress{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.chat-profile-nudge-bar{
    width: 80px;
    height: 6px;
    background: #DFE5EC;
    border-radius: 3px;
    overflow: hidden;
}

.chat-profile-nudge-fill{
    height: 100%;
    background: linear-gradient(90deg, #0A58A5, #3B82F6);
    border-radius: 3px;
    transition: width 0.6s ease-out;
}

.chat-profile-nudge-percent{
    color: #0A58A5;
    font-family: "Open Sans", sans-serif;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.chat-profile-nudge-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    border-radius: 10px;
    background: #0A58A5;
    color: #FFF;
    font-family: "Open Sans", sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.2s ease;
}

.chat-profile-nudge-btn:hover{
    background: #084a8a;
}

@keyframes chatNudgeFadeIn{
    from{
        opacity: 0;
        transform: translateY(-10px);
    }
    to{
        opacity: 1;
        transform: translateY(0);
    }
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — Mobile & Tablet (max-width: 768px)
   ═══════════════════════════════════════════════════ */

@media (max-width: 768px){
    .ai-assistant-intro .action-cards{
        flex-direction: column;
    }

    .ai-assistant-intro .action-cards .action-card, .ai-assistant-intro .action-cards button{
        width: 100% !important;
    }

    .home-chat-form{
        border-top: 1px solid #DFE5EC;
        height: 135px;
        padding: 10px !important;

    }

    .home-page-content{
        padding: 0 !important;
    }



    h1.greeting {
        font-size: 24px !important;
    }

    .home-page{
        padding: 40px 0 !important;
        padding-bottom: 0 !important;
    }

    .discussions-new-btn span{
        display: none;
    }

    .discussions-page-header{
        padding: 0 15px;
    }

    .discussions-page-layout{
        padding: 20px;
        height: calc(100% - 64px);
    }

    .chat-sessions-filters h2{
        display: none;
    }

    .chat-sessions-filters .search-filters-container{
        width: 100%;
    }

    .discussions-list a{
        justify-content: start;
        padding: 20px;
        align-items: start;

    }

    .chat-input-container{
        border-radius: 0;
    }

    .project-insufficient-credits-alert{
        flex-direction: column;
    }

    .settings-tabs{
        width: 100%;
        overflow: scroll;
        justify-content: space-between;
    }
    .settings-form .form-row{
        flex-direction: column;
        gap: 5px;
    }

    .settings-tabs button{
        padding: 7px 10px;
    }

    .settings-form .form-row .form-group{
        width: 100%;
    }

    img.discussion-icon{
        width: 25px;
        height: 25px;
    }

    .discussion-meta{
        flex-direction: column;
        align-items: start;
        gap: 10px;
    }

    .discussion-content-container{
        gap: 10px;
    }

    .discussion-info, .message-count{
        display: none;
    }

    .chat-content{
        margin: 0 !important;
        border-radius: 0 !important;
        height: calc(100vh - 133.5px) !important;
        padding: 0 !important;
    }

    .diagnostic-post-actions{
        height: 100px;
    }

    .chat-sessions-page{
        height: 100%;
    }

    .chat-content .project-page-header-content{
        padding: 20px;
    }

    .messages-page{
        height: 100% !important;
    }

    .chat-messages{
        height: calc(100% - 164px) !important;
        width: 90%;
    }

    .diagnostic-chat-global-score-value{
        font-size: 45px;
    }

    .diagnostic-chat-criteria-row{
        flex-direction: column;
    }

    .diagnostic-chat-criterion{
        width: 100%;
    }

    .diagnostic-post-actions{
        padding: 20px;
    }

    .diagnostic-action-btn{
        padding: 20px 12px;
        font-size: 12px;
    }

    .chat-input-wrapper{
        width: 90%;
        flex-direction: row;
    }

    .chat-input-container{
        height: 100px;
    }

    .tendance-chat-card{
        padding: 18px;
    }

    .tendance-chat-header{
        flex-direction: column;
        gap: 10px;
    }

    .tendance-chat-title{
        font-size: 16px;
    }

    .tendance-chat-opportunities-list{
        flex-wrap: wrap;
    }

    .tendance-chat-opportunity-btn{
        font-size: 12px;
        padding: 10px 14px;
    }

    .idee-chat-card{
        padding: 18px;
    }

    .idee-chat-header{
        flex-direction: column;
        gap: 10px;
    }

    .idee-chat-title{
        font-size: 16px;
    }

    .idee-chat-financials{
        flex-direction: column;
    }

    .idee-chat-footer{
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .idee-chat-score-bar{
        max-width: 100%;
        width: 100%;
    }

    .opportunite-chat-card,
    .fiche-idee-chat-card,
    .rd-recherche-chat-card{
        padding: 18px;
    }

    .opportunite-chat-header,
    .fiche-idee-chat-header,
    .rd-recherche-chat-header{
        flex-direction: column;
        gap: 10px;
    }

    .opportunite-chat-title,
    .fiche-idee-chat-title,
    .rd-recherche-chat-title{
        font-size: 16px;
    }

    .rd-recherche-chat-problem-advantage{
        flex-direction: column;
    }

    .chat-profile-nudge-content{
        flex-wrap: wrap;
        gap: 12px;
        padding: 12px 16px;
    }

    .chat-profile-nudge-text strong{
        font-size: 12px;
    }

    .chat-profile-nudge-progress{
        order: 4;
        width: 100%;
    }

    .chat-profile-nudge-bar{
        flex: 1;
        width: auto;
    }
}
/* ===== Page entrance animations ===== */
@keyframes segmentFadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.segment-animate-in {
    opacity: 0;
    animation: segmentFadeInUp 0.5s ease forwards;
}

.segment-animate-in:nth-child(1) { animation-delay: 0s; }
.segment-animate-in:nth-child(2) { animation-delay: 0.1s; }
.segment-animate-in:nth-child(3) { animation-delay: 0.2s; }

.segment-animate-delay-1 { animation-delay: 0.1s !important; }
.segment-animate-delay-2 { animation-delay: 0.2s !important; }
.segment-animate-delay-3 { animation-delay: 0.3s !important; }

/* ===== Header: count + validate button ===== */
.segments-header-count {
    color: var(--Color1, #223245);
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    white-space: nowrap;
}

.segments-header-validate-btn {
    border-radius: 10px;
    background: var(--Color-2, #0A58A5);
    padding: 10px 20px;
    border: none;
    color: #FFF;
    font-size: 14px;
    font-weight: 600;
    line-height: 12px;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity 0.2s ease;
}

.segments-header-validate-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.segments-header-validate-btn:not(:disabled):hover {
    opacity: 0.9;
}

.segments-header-left{
    border-radius: 10px;
    border: 1px solid rgba(10, 88, 165, 0.30);
    background: rgba(10, 88, 165, 0.06);
    padding: 14px 22px;
    display: flex;
    gap: 10px;
    align-items: center;
}

.segments-header-left-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.segments-header-left-content h3{
    color: var(--Color1, #223245);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 14px; /* 100% */
}

.regenerate-button{
    color: var(--Color-2, #0A58A5);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 14px; /* 100% */
    border: none;
}

.segments-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 20px;
}

.segments-header-left{
    margin-bottom: 30px;
}

.segment-card{
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    padding: 24px 19px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.segment-card-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.segments-container .segment-card.validated{
    border: 1px solid #0A58A5;
    background: rgba(10, 88, 165, 0.06);
}

.segment-card-header h4{
    color: #223245;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 22.5px; /* 125% */
}

.segment-type{
    border-radius: 16777200px;
    border: 1px solid rgba(0, 0, 0, 0.00);
    background: #F0F5FA;
    padding: 2px 10px;
    color: var(--Color-2, #0A58A5);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 133.333% */
    letter-spacing: 0.3px;
}

.segment-type.b2c{
    background: #0A58A5;
    color: #FFF;
}

.segment-type.b2b{
    background: #DFE5EC;
    color: #223245;
}

.segment-description{
    color: #6E7F93;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px; /* 157.143% */
}

.segment-metrics{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    padding: 17px 20px;
    display: flex;
    gap: 30px;
    align-items: center;
}

.segment-metrics-separator{
    background-color: #DFE5EC;
    width: 1px;
    min-height: 40px;
}

.segment-score{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.segment-score-value{
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: var(--Color1, #223245);
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 75% */
    background: var(--fr, linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.segment-score-label{
    color: #6E7F93;
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    line-height: 15px; /* 150% */
    text-transform: uppercase;
}

.segment-metrics-items{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    width: 100%;
}

.segment-metrics-item{
    width: 100%;
    display: flex;
    align-items: center;
    gap: 4px;
}

.segment-metrics-item-label{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 12px; /* 100% */
    width: 75px;
}

.segment-metrics-item-value{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 10px;
    width: 70px;
}

.segment-metrics-item-fill{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #0A58A5;
    height: 100%;
}

.segment-actions{
    display: flex;
    align-items: center;
    gap: 20px;
}

.segment-edit-button{
    border-radius: 10px;
    border: 1px solid #DFE5EC;
    padding: 11px 27px 11px 26px;
    height: 42px;
    display: flex;
    align-items: center;
    gap: 7px;
    width: 40%;
    justify-content: center;

}

.segment-edit-button span{
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
}

.segment-add-button{
    border-radius: 10px;
    background: #0A58A5;
    height: 42px;
    padding: 11px 61px;
    width: 60%;
    border: none;
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px; /* 142.857% */
}

.segment-add-button.selected{
    border-radius: 10px;
    background: rgba(10, 88, 165, 0.06);
    color: var(--Color-2, #0A58A5);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px; /* 142.857% */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.segments-container.has-validated .segment-card{
    opacity: 0.5;
    cursor: not-allowed;
}

.segments-container .segment-card.validated{
    opacity: 1;
    cursor: pointer;
}

.segment-add-button span{
    color: var(--Color-2, #0A58A5);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px; /* 142.857% */
}

.segments-container.has-validated .segment-card:not(.validated) {
    opacity: 0.5;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.segment-card.validated {
    opacity: 1;
}

.segment-add-button:disabled,
.choose-button:disabled {
    cursor: not-allowed;
}

.segments-header-left img{
    width: 24px;
    height: 24px;
}

.segments-clients-page{
    height: calc(100vh - 80px);
    overflow: scroll;
}

.module-footer{
    border-radius: 0 0 20px 20px;
    border-top: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 30px;
}

.module-footer{
    display: flex;
    align-items: center;
    gap: 20px;
}



.module-footer-left h6{
    color: var(--Color1, #223245);
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px; /* 125% */
}

.module-footer-button:disabled{
    opacity: 0.6;
    cursor: not-allowed;
}

.module-footer-button{
    border-radius: 15px;
    background: var(--Color-2, #0A58A5);
    padding: 16px;
    justify-content: center;
    align-items: center;
    gap: 30px;
    display: flex;
    border: none;
    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 12px; /* 75% */
}

.ai-card-content, .simple-loader{
    border-radius: 16px;
    background: #FFF;
    padding: 20px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    text-align: center;
    margin-top: 30px;
}

.ai-card-content img{
    width: 75px;
    height: 75px;
}

.ai-card-title{
    color: #223245;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px; /* 140% */
}

.ai-card-description{
    color: #6E7F93;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px; /* 171.429% */
}

.generate-segments-button{
    border-radius: 10px;
    background: #0A58A5;
    box-shadow: 0 10px 15px -3px rgba(28, 57, 142, 0.10), 0 4px 6px -4px rgba(28, 57, 142, 0.10);
    padding: 10px 18px 10px 18px;
    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px; /* 175% */
    display: flex;
    justify-content: center;    border: none;
    cursor: pointer;
    width: 350px;
}

.generate-segments-button span{
    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px; /* 175% */
    text-align: center;

}


/* Segment Edit Modal */
.segment-edit-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.segment-edit-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
}

.segment-edit-modal-content {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 12px;
    width: 100%;
    max-width: 50%;
    max-height: 90vh;
    overflow-y: auto;
    z-index: 1001;
}

.segment-edit-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #DFE5EC;
    background: linear-gradient(180deg, #E6ECF5 0%, #FFFFFF 100%);
}

.segment-edit-modal-header h3 {
    font-size: 20px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.segment-edit-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background: none;
    cursor: pointer;
    color: #6E7F93;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.segment-edit-modal-close:hover {
    background-color: #F8F9FA;
    color: #223245;
}

.segment-edit-modal-close svg {
    width: 20px;
    height: 20px;
}

.segment-edit-modal-form {
    padding: 24px;
}

.segment-edit-form-group {
    margin-bottom: 10px;
}

.customer-profile-item.job-item.editing{
    flex-direction: column;
    gap: 10px;
}

.segment-edit-form-group label {
    color: var(--Color1, #223245);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 12px; /* 100% */
}

.segment-edit-form-input,
.segment-edit-form-textarea {
    width: 100%;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    font-size: 14px;
    color: #223245;
    transition: all 0.2s ease;
    box-sizing: border-box;
    font-family: "Open Sans";

}

.segment-edit-form-input:focus,
.segment-edit-form-textarea:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.segment-edit-form-textarea {
    resize: vertical;
    min-height: 100px;
    resize: none;
}

.segment-edit-modal-actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #DFE5EC;
}

.segment-edit-modal-cancel,
.segment-edit-modal-save {
    padding: 10px 40px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    height: 44px;
    cursor: pointer;
    border: none;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
}

.segment-edit-modal-cancel {
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 12px; /* 85.714% */
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
}

.segment-edit-modal-save {
    background-color: #0A58A5;
    color: #FFFFFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 12px; /* 85.714% */
}

.segment-edit-modal-save:hover:not(:disabled) {
    background-color: #084A8F;
}

.segment-edit-modal-save:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.segment-edit-form-row{
    display: flex;
    gap: 10px;
}

.segment-edit-form-row .segment-edit-form-group{
    width: 50%;
}

/* ===== Help Modal ===== */
.segment-help-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 28px;
    max-height: 65vh;
    overflow-y: auto;
}

.segment-help-section {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.segment-help-icon-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.segment-help-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #EBF5FF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.segment-help-section h4 {
    font-size: 16px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.segment-help-section p {
    font-size: 14px;
    color: #4A5568;
    line-height: 1.6;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.segment-help-reasons {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.segment-help-reason {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}

.segment-help-reason-num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #0A58A5;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
    font-family: "Open Sans", sans-serif;
}

.segment-help-reason strong {
    font-size: 14px;
    color: #223245;
    display: block;
    margin-bottom: 4px;
    font-family: "Open Sans", sans-serif;
}

.segment-help-reason p {
    font-size: 13px;
    color: #6E7F93;
    line-height: 1.5;
    margin: 0;
}

.segment-help-steps {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.segment-help-step {
    background: #F6F7F8;
    border-radius: 10px;
    padding: 14px 16px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.segment-help-step-badge {
    background: #0A58A5;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    white-space: nowrap;
    flex-shrink: 0;
    font-family: "Open Sans", sans-serif;
}

.segment-help-step p {
    font-size: 13px;
    color: #4A5568;
    line-height: 1.5;
    margin: 0;
}

@media (max-width: 1024px){
    .segments-grid{
        grid-template-columns: 1fr;
    }

    .segment-metrics-items{
        grid-template-columns: 1fr;
    }

    .segment-actions{
        flex-direction: column;
    }

    .segment-edit-button,
    .segment-add-button{
        width: 100%;
    }
}

/* Help Modal with animations */
.segment-help-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.segment-help-modal.is-visible {
    opacity: 1;
    visibility: visible;
}

.segment-help-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
}

.segment-help-modal-content {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 12px;
    width: 100%;
    max-width: 50%;
    max-height: 90vh;
    overflow-y: auto;
    z-index: 1001;
    transform: translateY(20px) scale(0.97);
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.segment-help-modal.is-visible .segment-help-modal-content {
    transform: translateY(0) scale(1);
}
.segment-value-prop-content{
    display: flex;
    width: 100%;
    gap: 24px;
    margin-top: 24px;
}

.view-toggle{
    display: flex;
    gap: 10px;
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 5px;
    height: 44px;
}

.view-toggle button{
    border: none;
    display: flex;
    align-items: center;
    gap: 10px;
    height: 100%;
    padding: 8px 13px;
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 12px; /* 85.714% */
}

.view-toggle button.active{
    border-radius: 5px;
    background: #0A58A5;
    /* gr2 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 12px; /* 85.714% */
}


.customer-profile-section, .value-prop-map-section{
    width: 100%;
    border-radius: 15px;
    background: #F6F7F8;
    padding: 20px;
    height: fit-content;
}

.customer-profile-section h2, .value-prop-map-section h2{
    text-align: center;
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 114.286% */
}

.vp-category{
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    margin-top: 15px;
    padding: 20px;
    height: 300px;
    overflow-y: auto;
}

.vp-category-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.vp-category-header h3{
    color: #364153;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}

.vp-category:hover .bmc-add-item,
.customer-profile-card:hover .bmc-add-item,
.value-prop-map-card:hover .bmc-add-item {
    opacity: 1;
}

.vp-items-list{
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 10px;
}

.vp-item{
    border-radius: 12px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
    padding: 12px;
    cursor: grab;
    display: flex;
    align-items: start;
    justify-content: space-between;
    transition: all 0.2s ease;
}

.vp-item:active {
    cursor: grabbing;
}

.vp-item-dragging {
    opacity: 0.3;
}

.vp-item-dragging:hover {
    transform: none;
}

.vp-item-drag-over {
    border-top: 2px solid #0A58A5;
}

.vp-items-list-drag-over {
    background: rgba(10, 88, 165, 0.04);
    border-radius: 8px;
}

.vp-item:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.vp-item:hover .vp-item-delete {
    opacity: 1;
}

.vp-item-delete {
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    padding: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: all 0.2s ease;
    flex-shrink: 0;
    margin-left: 8px;
    opacity: 0;
    color: inherit;
}

.job-item{
    border: none;
    background: #F2F8FF;
}

.pain-item{
    border-radius: 12px;
    border: none;
    background: rgba(255, 226, 226, 0.40);
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
}

.gain-item{
    border-radius: 12px;
    border: none;
    background: rgba(220, 252, 231, 0.50);
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
}


.vp-item-content p{
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 17.5px; /* 145.833% */
}

.job-item p{
}

.pain-item p{
}

.gain-item p{
}

.vp-item-actions{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 12px;
    position: relative;
    flex-shrink: 0;
    width: 100%;
}

.vp-item-menu-btn{
    border: none;
}

.confirmed-tag{
    border-radius: 4px;
    border: 1px solid rgba(28, 57, 142, 0.30);
    opacity: 0.6;
    color: #1C398E;
    font-size: 9px;
    font-style: normal;
    font-weight: 700;
    line-height: 13.5px; /* 150% */
    text-transform: uppercase;
    padding: 0.5px 4.602px 1px 5px;

}

.pain-item .confirmed-tag{
    background: rgba(255, 226, 226, 0.40);
    border: 1px solid #FFC9C9;
    color: #82181A;
}

.gain-item .confirmed-tag{
    background: rgba(220, 252, 231, 0.50);
    border: 1px solid #B9F8CF;
    color: #0D542B;
}

.vp-row{
    display: flex;
    gap: 24px;
}

.vp-row .vp-category{
    width: 50%;
}

.vp-item-dropdown.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.vp-item-dropdown{
    position: absolute;
    top: 18px;
    left: -16px;
    background-color: #FFFFFF;
    border:1px solid #DFE5EC;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 180px;
    padding: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: all 0.2s ease;
    z-index: 1000;
}

.vp-item-dropdown .dropdown-item{
    color: #6E7F93;
}

.vp-item-dropdown .dropdown-item i{
    margin-right: 8px;
    color: #6E7F93;
}

.vp-item-input{
    width: 100%;
    background-color: transparent;
    border: none;
    outline: none;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 17.5px; /* 145.833% */
}


.editing .vp-item-actions{
    justify-content: end;
    gap: 10px;
    flex-direction: row-reverse;
}

.editing .vp-item-actions .vp-item-cancel-btn{
    color: #6E7F93;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 17.5px; /* 145.833% */
    border: none;
    background-color: transparent;
    cursor: pointer;
}

.editing .vp-item-actions .vp-item-save-btn{
    color: #1C398E;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 17.5px; /* 145.833% */
    border: none;
    background-color: #0A58A5;
    cursor: pointer;
    color: #FFFFFF;
    padding: 6px 16px;
    border-radius: 8px;
}

.pain-reliever-item p{
}

.gain-creator-item p{
}

.service-item p{
}

.vp-item.service-item.editing .vp-item-save-btn{
    background-color: #733E0A;
}

.vp-item.pain-item.editing .vp-item-save-btn{
    background-color: #82181A;
}

.vp-item.gain-item.editing .vp-item-save-btn{
    background-color: #0D542B;
}

.service-item .vp-item-menu-btn{
}

.service-item{
    border-radius: 16px;
    border: none;
    background: #FEF9C2;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
}

.vp-item.pain-reliever-item{
    border-radius: 16px;
    border: none;
    background: #FFEDD4;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
}

.pain-reliever-item.editing{
    border-radius: 16px;
    border: none;
    background: #FFEDD4;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
}


.vp-item.pain-reliever-item.editing .vp-item-save-btn{
    background-color: #B45309;
}

.vp-item.gain-creator-item{
    border-radius: 16px;
    border: none;
    background: #D0FAE5;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
}

.gain-creator-item.editing{
    border-radius: 16px;
    border: none;
    background: #D0FAE5;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
}


.vp-item.gain-creator-item.editing .vp-item-save-btn{
    background-color: #0D542B;
}

.value-prop-filters-actions{
    display: flex;
    gap: 24px;
}

/* Segment Dropdown */
.segment-dropdown-container {
    position: relative;
    display: inline-block;
    width: 100%;
}

.segment-dropdown-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 14px;
    font-weight: 500;
    color: #364153;
    width: 50%;
    justify-content: space-between;
    border-radius: 10px;
    border: 1px solid #E6EAF0;
    height: 44px;
    padding: 0 20px;
    background: linear-gradient(180deg, #E6ECF5 0%, #FFFFFF 100%);
}

.segment-dropdown-button:hover {
    background-color: #F3F4F6;
}

.segment-dropdown-button .segment-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.segment-dropdown-text {
    flex: 1;
    text-align: left;
}

.segment-dropdown-button .dropdown-arrow {
    color: #6E7F93;
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.segment-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    background-color: #FFFFFF;
    border: 1px solid #DFE5EC;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    width: 500px;
    padding: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: all 0.2s ease;
    z-index: 1000;
}

.segment-dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.segment-dropdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 10px 12px;
    font-size: 14px;
    color: #1F2937;
    text-decoration: none;
    border-radius: 8px;
    transition: background-color 0.2s ease;
    border: none;
    background: none;
    cursor: pointer;
    font-family: "Open Sans", sans-serif;
    text-align: left;
}

.segment-dropdown-item:hover {
    background-color: #F3F4F6;
}

.segment-dropdown-item.active {
    background-color: #F3F4F6;
    font-weight: 600;
}

.segment-dropdown-item .segment-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.segment-dropdown-text{
    color: var(--Color1, #0A58A5);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 125% */
}

.vp-category-header-left{
    display: flex;
    align-items: center;
    gap: 5px;
}

.value-prop-summary{
    margin-top: 24px;
}

.summary-main-statement{
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 24px;
}

.summary-main-statement label, .summary-sub-item label{
    color: #364153;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
}

.summary-main-statement textarea, .summary-sub-item textarea{
    display: flex;
    height: 200px;
    padding: 10px 20px;
    gap: 8px;
    flex-shrink: 0;
    align-self: stretch;
    font-family: "Open Sans", sans-serif;
    border-radius: 14px;
    border: 1px solid #E5E7EB;
    background: #F9FAFB;
    color: #6A7282;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 142.857% */
}

.summary-sub-sections{
    display: flex;
    align-items: stretch;
    gap: 10px;
}

.summary-sub-item{
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 33%;
}

.customer-profile-list{
    margin-top: 40px;
    border-top: 1px solid #DFE5EC;
    padding-top: 24px;
}

.customer-profile-cards, .value-prop-map-cards{
    display: flex;
    align-items: stretch;
    gap: 30px;
    margin-top: 24px;
}

.customer-profile-list-title{
    color: #E7000B;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px; /* 155.556% */
}

.customer-profile-card-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.customer-profile-card, .value-prop-map-card{
    border-radius: 16px;
    border: 1px solid #E5E7EB;
    background: #F9FAFB;
    padding: 17px;
    width: 33%;
}

.customer-profile-items, .value-prop-map-items{
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.customer-profile-item, .value-prop-map-item{
    display: flex;
    align-items: start;
    justify-content: space-between;
    padding: 9px;
    border-radius: 12px;
    position: relative;
    font-size: 12px;
    font-weight: 400;
    cursor: pointer;
    transition: all 0.2s ease;
}

.customer-profile-item:hover, .value-prop-map-item:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.customer-profile-item:hover .vp-item-delete, .value-prop-map-item:hover .vp-item-delete {
    opacity: 1;
}

.customer-profile-item .vp-item-actions, .value-prop-map-item .vp-item-actions{
    margin-top: 0;
    width: auto;
    flex-shrink: 0;
}

.customer-profile-item .vp-item-dropdown, .value-prop-map-item .vp-item-dropdown{
    top: calc(100% + 4px);
    right: 0;
    left: auto;
}

.value-prop-map-list{
    margin-top: 40px;
}

.value-prop-map-list-title{
    color: #155DFC;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px; /* 155.556% */
}

.pain-reliever-item{
    border-radius: 16px;
    border: 1px solid #FFD6A7;
    background: #FFEDD4;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
}

.gain-creator-item{
    border-radius: 16px;
    border: 1px solid #A4F4CF;
    background: #D0FAE5;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
}



.customer-profile-card-header-left{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.customer-profile-card-header-left-content{
    display: flex;
    align-items: center;
    gap: 10px;
}

.customer-profile-card-header-left-content .item-count{
    border-radius: 14px;
    border: 1px solid rgba(0, 0, 0, 0.00);
    background: #EBF3FA;width: 23.719px;
    height: 20px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0A58A5;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 14.286px; /* 119.047% */
}  

.customer-profile-cards span, .value-prop-map-cards span{
    font-size: 12px;
    font-weight: 400;
}

@media (max-width: 1200px){
    .segment-value-prop-content{
        flex-direction: column;
    }

    .vp-row{
        flex-direction: column;
    }

    .vp-row .vp-category{
        width: 100%;
    }

    .summary-sub-sections{
        flex-direction: column;
    }

    .summary-sub-item{
        width: 100%;
    }

    .customer-profile-cards,
    .value-prop-map-cards{
        flex-direction: column;
    }

    .customer-profile-card,
    .value-prop-map-card{
        width: 100%;
    }

    .segment-dropdown-button{
        width: 100%;
    }

    .segment-dropdown-menu{
        width: 100%;
    }

    .value-prop-filters-actions{
        flex-direction: column;
    }

    .segment-edit-form-row{
        flex-direction: column;
    }

    .segment-edit-form-row .segment-edit-form-group{
        width: 100%;
    }

    .segment-edit-modal-content{
        max-width: 90%;
    }
}

/* ========== Inline Color Picker (Modal) ========== */

.vp-color-picker-inline {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 4px;
}

.vp-color-option-inline {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    padding: 0;
    background: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.15s ease, border-color 0.15s ease;
}

.vp-color-option-inline:hover {
    transform: scale(1.15);
}

.vp-color-option-inline.selected {
    border-color: #0A58A5;
    box-shadow: 0 0 0 2px rgba(10, 88, 165, 0.25);
}

.vp-color-swatch {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: block;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.vp-color-swatch-none {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #FFF;
    border: 2px solid #DFE5EC;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6E7F93;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
}

/* Export PDF Dropdown */
.export-pdf-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    background: #FFF;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    z-index: 100;
    min-width: 200px;
    padding: 4px;
}

.export-pdf-dropdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 10px 12px;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 14px;
    color: #223245;
    border-radius: 6px;
    transition: background 0.15s;
}

.export-pdf-dropdown-item:hover {
    background: #F0F1F4;
}

.export-pdf-dropdown-item svg {
    color: #6E7F93;
    flex-shrink: 0;
}
.etude-marche-ai-card-content{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.etude-marche-ai-card-content .sommaire{
    border-radius: 20px;
    background: #F6F7F8;
    padding: 25px;
}

.sommaire h2{
    color: var(--Color1, #223245);
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 100% */
}

.sommaire p{
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
    margin-top: 7px;
}

.sommaire ol{
    margin-left: 1rem;
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sommaire ol li{
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
}

.sommaire ol li span{
    color: var(--Color1, #223245);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}

.deep-research-cards{
    margin-top: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.deep-research-card{
    width: 33%;
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 15px;
}

.deep-research-card .deep-research-card-number{
    border-radius: 100%;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: var(--Linear, linear-gradient(144deg, #DFE5EC 11.42%, #FFF 75.57%));
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--Color1, #223245);
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 12px; /* 66.667% */
}

.deep-research-card-content span{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 166.667% */
}

.deep-research-card-content p{
    margin-top: 0;
    color: var(--Color-2, #0A58A5);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
}

.etude-marche-ai-card-content button{
    margin: 0 auto;
}

.deep-footer p{
    color: var(--Color0, #445972);
    font-size: 14px;
    font-style: italic;
    font-weight: 500;
    line-height: 20px;
    margin-top: 15px;
}

.deep-footer p span{
    color: var(--Color1, #223245);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
}

.simple-loader .loader-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
}


.simple-loader .loader-content p{
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
}

.loader-progress{
    color: var(--Color-2, #0A58A5);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}

.loader-progress-bar{
    border-radius: 30px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 11px;
    margin: 10px 0;
    overflow: hidden;
    width: 100%;
}

.loader-progress-fill{
    height: 100%;
    background: #0A58A5;
    border-radius: 30px;
    transition: width 0.4s ease;
}

.loader-text{
    color: var(--Color2, #6E7F93);
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
}

.etude-index-page-header-left{
    display: flex;
    align-items: center;
    gap: 10px;
}

.etude-index-page-header-left img{
    width: 40px;
    height: 40px;
}

.etude-title h1{
    color: var(--Color1, #223245);
    font-size: 18px !important;
    font-style: normal;
    font-weight: 700;
    line-height: 18px; /* 100% */
}

.mode-toggle-group{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    width: 240px;
    height: 40px;
    display: flex;
    align-items: center;
}

.mode-toggle-group button{
    width: 50%;
    border: none;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
    color: var(--Color2, #6E7F93);
    padding: 0 10px;

}

.mode-toggle-group button span{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px; /* 166.667% */
}

.projects-index-page-header-right{
    display: flex;
    align-items: center;
    gap: 20px;
}

.download-button{
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    border: 1px solid #DFE5EC;
    height: 40px;
    padding: 0 20px;
    color: var(--Color-2, #0A58A5);
    background: #fff;
    cursor: pointer;
}

.mode-toggle-group{
    padding: 5px;
}

.download-button span{
    color: var(--Color-2, #0A58A5);
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px; /* 142.857% */
}

.export-dropdown{
    position: relative;
}

.export-dropdown-chevron{
    margin-left: -4px;
    transition: transform 0.2s ease;
}

.export-dropdown.open .export-dropdown-chevron{
    transform: rotate(180deg);
}

.export-dropdown-menu{
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 200px;
    background: #fff;
    border: 1px solid #DFE5EC;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    z-index: 100;
    overflow: hidden;
}

.export-dropdown.open .export-dropdown-menu{
    display: block;
}

.export-dropdown-item{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    color: #344054;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.15s ease;
}

.export-dropdown-item:hover{
    background: #F5F8FA;
    color: var(--Color-2, #0A58A5);
}

.export-dropdown-item i{
    width: 16px;
    text-align: center;
    font-size: 15px;
}

.export-dropdown-item .fa-file-pdf{
    color: #E53E3E;
}

.export-dropdown-item .fa-file-word{
    color: #2B6CB0;
}

.header-mode-button.active, .header-mode-button.active span{
    border-radius: 5px;
    background: #0A58A5;
    color: #FFF;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px; /* 166.667% */
}

.etude-marche-layout{
    display: flex;
    gap: 20px;
    justify-content: center;
}

.etude-marche-sidebar{
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: calc(100vh - 80px);
    width: 300px;
    border-right: 1px solid #DFE5EC;
}

.etude-marche-content{
    width: calc(100% - 320px);
    height: calc(100vh - 80px) !important;
    overflow: scroll;
    padding: 20px;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding-left: 0;
    
}

.etude-sections-nav{
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.etude-sections-nav a{
    display: flex;
    align-items: center;
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    padding: 12px;
    color: #6A7282;
    gap: 12px;
}

.etude-sections-nav a img{
    width: 16px;
    height: 16px;
}

.etude-sections-nav a span{
    color: #6A7282;
    color: #6A7282;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
}

.etude-section{
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
}

.etude-section-title{
    border-radius: 15px 15px 0 0;
    border-bottom: 1px solid var(--stroke-1, #DFE5EC);
    background: var(--kkkk, linear-gradient(178deg, #DFE5EC -8.86%, #FFF 49.74%));
    height: 48px;
    padding: 13px 21px;
    display: flex;
    align-items: center;
}

.etude-section-title h2{
    display: flex;
    align-items: center;
    gap: 15px;
    color: #223245;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px; /* 122.222% */
}

.section-nav-item.active{
    border-radius: 10px;
    border: 1px solid var(--Color-2, #0A58A5);
    background: rgba(10, 88, 165, 0.06);
    color: #0A58A5;
}

.section-nav-item.active span{
    color: #0A58A5;
}

.section-content{
    padding: 20px;
}

.synthese-content{
    display: flex;
    flex-direction: column;
}

.text-block{
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 20px;
}

.editable-text{
    color: var(--Color1, #223245);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px; /* 157.143% */
}

.text-block h3{
    color: #99A1AF;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 166.667% */
    letter-spacing: 0.35px;
    text-transform: uppercase;
}

.synthese-right .key-metrics{
    display: flex;
    gap: 27px;
    align-items: stretch;
}

.synthese-right .key-metrics .metric-card{
    width: 33%;
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    padding: 15px;
    box-shadow: none;
    gap: 8px;
}

.synthese-right .key-metrics .metric-card .metric-value{
    margin: 8px 0;
}

.synthese-right .key-metrics .metric-card .metric-label{
    color: #6A7282;
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
    line-height: 16px; /* 160% */
    text-transform: uppercase;
}

.synthese-right .key-metrics .metric-card .metric-value-wrapper{
    background: var(--fr, linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 0.5px;
    -webkit-text-stroke-color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 24px;
    font-style: normal;
    font-weight: 800;
    line-height: 24px; /* 100% */
}

.metric-source{
    color: #99A1AF;
    font-family: "Open Sans";
    font-size: 10px;
    font-style: italic;
    font-weight: 400;
    line-height: 15px; /* 150% */
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Metric card header with edit button */
.metric-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.metric-header-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.metric-edit-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 3px;
    border-radius: 4px;
    color: #9FAAB7;
    transition: color 0.15s ease;
    display: flex;
    align-items: center;
}

.metric-edit-btn:hover {
    color: #0A58A5;
    background: #F0F5FA;
}

/* Clickable source link */
.metric-source-link {
    color: #0A58A5;
    text-decoration: none;
    font-style: italic;
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.metric-source-link:hover {
    text-decoration: underline;
}

.metric-source-link svg {
    flex-shrink: 0;
}

/* Info icon tooltip for panier moyen */
.metric-info-icon {
    color: #9FAAB7;
    cursor: help;
    display: flex;
    align-items: center;
    position: relative;
}

.metric-info-icon:hover {
    color: #6E7F93;
}

.metric-info-icon::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 8px);
    right: -10px;
    width: 220px;
    padding: 8px 10px;
    background: #223245;
    color: #FFF;
    font-size: 11px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.4;
    border-radius: 6px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s ease;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.metric-info-icon:hover::after {
    opacity: 1;
}

.metric-source-calculated {
    color: #9FAAB7;
    font-style: italic;
    gap: 4px;
}

/* Metric edit modal */
.metric-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.metric-modal {
    background: #FFF;
    border-radius: 12px;
    width: 420px;
    max-width: 90vw;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15);
}

.metric-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #EEF1F5;
}

.metric-modal-header h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #223245;
}

.metric-modal-close {
    background: none;
    border: none;
    cursor: pointer;
    color: #9FAAB7;
    padding: 2px;
}

.metric-modal-close:hover {
    color: #3D4F63;
}

.metric-modal-form {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.metric-form-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.metric-form-group label {
    font-size: 13px;
    font-weight: 500;
    color: #3D4F63;
}

.metric-form-input {
    padding: 8px 12px;
    border: 1px solid #DFE5EC;
    border-radius: 6px;
    font-size: 14px;
    color: #223245;
    outline: none;
    transition: border-color 0.15s ease;
    font-family: "Open Sans", sans-serif;
}
textarea.metric-form-input {
    resize: vertical;
    min-height: 60px;
}

.metric-form-input:focus {
    border-color: #0A58A5;
    box-shadow: 0 0 0 2px rgba(10, 88, 165, 0.1);
}

.metric-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 4px;
}

.metric-modal-cancel {
    padding: 8px 16px;
    background: #FFF;
    border: 1px solid #DFE5EC;
    border-radius: 6px;
    font-size: 14px;
    cursor: pointer;
    color: #6E7F93;
}

.metric-modal-cancel:hover {
    background: #FAFBFC;
}

.metric-modal-save {
    padding: 8px 16px;
    background: #0A58A5;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    color: #FFF;
    cursor: pointer;
}

.metric-modal-save:hover {
    background: #084a8a;
}

.metric-modal-save:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.synthese-right .metric-value{
    background: var(--fr, linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 0.5px;
    -webkit-text-stroke-color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 24px;
    font-style: normal;
    font-weight: 800;
    line-height: 24px; /* 100% */
}

.section-intro-box{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    padding: 15px;

}

.section-intro-box p{
    font-style: italic;
}

.market-sizing-cards{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 24px;
    grid-row-gap: 24px;
    margin-top: 24px;
}

.sizing-card{
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 15px;
}

.sizing-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sizing-label{
    color: #99A1AF;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 133.333% */
    text-transform: uppercase;
}

.sizing-value{
    margin-top: 11Px;
    background: var(--fr, linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke-width: 0.5px;
    -webkit-text-stroke-color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 36px; /* 150% */
    letter-spacing: -0.75px;
}

.sizing-description{
    color: #6A7282;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
    margin-top: 10px;
}

.reasoning-block, .sizing-badge{
    display: none;
}

.sizing-method{
    border-radius: 10px;
    background: #F9FAFB;
    display: flex;
    width: 836px;
    padding: 12px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    margin-top: 17px;
}

.sizing-method h2{
    color: #4A5565;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 133.333% */
}

.sizing-method p{
    color: #4A5565;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
}

.swot-matrix{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    margin-top: 21px;
}

.swot-column{
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    padding: 20px;
    max-height: 350px;
    overflow: scroll;
}

.strengths-column{
    background: rgba(89, 178, 36, 0.10);
}

.opportunities-column{
    background: rgba(252, 18, 27, 0.06);
}

.weaknesses-column{
    background: rgba(10, 88, 165, 0.06);
}

.threats-column{
    background: rgba(255, 153, 1, 0.06);
}

.swot-column-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.swot-title-wrapper{
    display: flex;
    align-items: center;
    gap: 10px;
}

.swot-add-button{
    border: none;
    width: 7px;
    height: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.strengths-column .swot-add-button  i{
    color: #59B224;
}

.opportunities-column .swot-add-button  i{
    color: #FC121B;
}

.weaknesses-column .swot-add-button  i{
    color: var(--Color-2, #0A58A5);
}

.threats-column .swot-add-button  i{
    color: var(--Color, #F90);
}

.swot-title.strengths{
    color: #59B224;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 14px; /* 100% */
}

.swot-title.opportunities{
    color: #F54900;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 114.286% */
}

.swot-title.weaknesses{
    color: var(--Color-2, #0A58A5);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 114.286% */
}

.swot-title.threats{
    color: var(--Color, #F90);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 114.286% */
}

.swot-list{
    margin-top: 16px;
    margin-left: 1rem;
}

.swot-item{
    color: var(--Color1, #223245);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 18px; /* 128.571% */
    margin-bottom: 10px;
}

.swot-item span{
    color: var(--Color1, #223245);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 18px; /* 128.571% */
}

.competitors-section{
    margin-top: 16px;
    border-radius: 10px;
    border: 1px solid #E5E7EB;
    background: #FFF;
}

.competitors-header{
    border-bottom: 1px solid #E5E7EB;
    background: #F9FAFB;
    height: 40px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    border-radius: 10px 10px 0 0;
}

.competitors-header h3{
    color: #6A7282;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 133.333% */
    text-transform: uppercase;
}

.competitor-list{
    display: flex;
    flex-direction: column;
}

.competitor-item{
    padding: 20px;
    border-bottom: 1px solid #F3F4F6;
    display: flex;
    align-items: start;
    justify-content: space-between;
}

.competitor-main h4{
    color: #1E2939;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}

.competitor-description{
    margin: 7px 0;
    color: #6A7282;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
}


.competitor-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pro-tag {
    color: #10B981;
    font-size: 11px;
    font-weight: 500;
    padding: 4px 8px;
    border-radius: 14px;
    font-family: "Open Sans", sans-serif;
    border: 1px solid #B9F8CF;
    background: #F0FDF4;
}

.con-tag {
    border: 1px solid #FFC9C9;
    background: #FEF2F2;
    color: #FF3B30;
    font-size: 11px;
    font-weight: 500;
    padding: 4px 8px;
    border-radius: 14px;
    font-family: "Open Sans", sans-serif;
}

.competitor-level {
    color: #6A7282;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
}

.cartography-section{
    margin-top: 16px;
    border-radius: 15px;
    border: 1px solid #E5E7EB;
    background: #F6F7F8;
    padding: 20px;
}

.cartography-section h3{
    color: #99A1AF;
    text-align: center;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 133.333% */
    text-transform: uppercase;
}

.section-content .segments-grid{
    margin-top: 20px;
}

.section-content .segments-grid h3{
    color: #223245;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 150% */
}

.job-description{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: italic;
    font-weight: 400;
    line-height: 18px; /* 150% */
}

.job-description strong{
    color: #6A7282;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 16px; /* 133.333% */
    text-transform: uppercase;
}

.section-content .segments-grid .segment-metrics{
    border: none;
    padding: 0;
    gap: 8px;
}

.section-content .segments-grid .segment-metrics .metric-tag:first-child{
    border-radius: 14px;
border: 1px solid rgba(0, 0, 0, 0.00);
background: #DCFCE7;
color: #008236;
font-family: "Open Sans";
font-size: 10px;
font-style: normal;
font-weight: 500;
line-height: 15px; /* 150% */
}

.section-content .segments-grid .segment-metrics .metric-tag{
    border-radius: 14px;
    border: 1px solid rgba(0, 0, 0, 0.00);
    background: #FFEDD4;
    padding: 2px 8px;
    color: #CA3500;
    font-family: "Open Sans";
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
    line-height: 15px; /* 150% */
    text-transform: lowercase;
}

.economic-model-cards{
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 20px;
}

.model-card-header{
    display: flex;
    align-items: center;
    gap: 8px;
}

.revenue-card h3{
    color: #008236;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}

.model-list{
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style-type: none;
    margin-top: 10px;
}

.model-list li{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    padding: 15px 21px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.model-item-label{
    color: var(--Color1, #223245);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}

.model-item-description{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16.5px; /* 137.5% */
}

.model-progress{
    width: 104px;
    height: 10px;
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
}

.model-fill{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: var(--fr, linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%));
    height: 100%;
}

.model-metrics{
    display: flex;
    align-items: center;
    gap: 15px;
}

.model-item-percentage{
    color: #59B224;
font-family: "Open Sans";
font-size: 12px;
font-style: normal;
font-weight: 700;
line-height: 16px; /* 133.333% */
border-radius: 4px;
background: rgba(89, 178, 36, 0.10);
padding: 2px 6px;
width: 37px;
display: flex;
align-items: center;
justify-content: center;
}

.model-item-percentage.cost{
    color: #E7000B;
    background: rgba(231, 0, 11, 0.10);
}

.model-item-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.model-item-actions{
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: 12px;
}

.model-content-item{
    flex: 1;
    min-width: 0;
}

.model-empty-state{
    justify-content: center !important;
    border-style: dashed !important;
}
.model-empty-state p{
    color: #6E7F93;
    font-size: 13px;
    font-style: italic;
}

.cost-card h3{
    color: #E7000B;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}

.break-even-card{
    margin-top: 20px;
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: var(--Linear, linear-gradient(144deg, #DFE5EC 11.42%, #FFF 75.57%));
    padding: 20px;
}

.break-even-card h3{
    color: var(--Color2, #6E7F93);
    text-align: center;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px; /* 142.857% */
}

.break-even-content{
    margin-top: 10px;
}

.break-even-subvalue{
    color: var(--Color-2, #0A58A5);
    font-size: 24px;
    font-style: normal;
    font-weight: 800;
    line-height: 36px; /* 150% */
    margin: 10px 0;
}

.break-even-value{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
}

.break-even-quote{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: italic;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
}

.distribution-cards{
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.distribution-card{
    border-radius: 15px;
    border: 1px solid #E5E7EB;
    background: #FFF;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.distribution-card h3{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}

.distribution-description{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
    margin-top: 5px;
}

.distribution-footer{
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: end;
    gap: 5px;
}
.distribution-cost{
    display: flex;
    justify-content: center;
    align-items: center;
    color: #00A63E;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 15px; /* 125% */
    text-transform: uppercase;
    border-radius: 15px;
    background: rgba(89, 178, 36, 0.10);
    padding: 0 10px;
    height: 24px;
}

.distribution-potential{
    border-radius: 15px;
    background: rgba(151, 71, 255, 0.08);
    color: #9747FF;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 15px; /* 125% */
    text-transform: uppercase;
    padding: 0 10px;
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.quote-block{
    margin-top: 20px;
    border-radius: 15px;
background: #F6F7F8;
padding: 20px;
}

blockquote{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 14px;
    font-style: italic;
    font-weight: 400;
    line-height: 20px; /* 142.857% */
}

.quote-meta{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
}

.quote-tags h3{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}

.quote-tags p{
    color: var(--Color2, #6E7F93);
font-family: "Open Sans";
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: 20px;
}

.quote-source{
    color: var(--Color-2, #0A58A5);
    font-family: "Open Sans";
    font-size: 14px;
    font-style: italic;
    font-weight: 400;
    line-height: 20px;
}

.quote-source span{
    color: var(--Color2, #6E7F93);
font-family: "Open Sans";
font-size: 14px;
font-style: italic;
font-weight: 400;
line-height: 20px; /* 142.857% */
}

.quote-source-link{
    color: var(--Color-2, #0A58A5);
    font-family: "Open Sans";
    font-size: 14px;
    font-style: italic;
    font-weight: 500;
    line-height: 20px;
    text-decoration: none;
    transition: color 0.2s;
}
.quote-source-link:hover{
    color: #084080;
    text-decoration: underline;
}
.quote-source-link span{
    color: var(--Color2, #6E7F93);
    font-weight: 400;
}

.insight-source-link{
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}
.insight-source-link:hover{
    color: #0A58A5;
    text-decoration: underline;
}

.hypotheses-list{
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.hypotheses-list h1{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 16px; /* 133.333% */
}

.hypothese{
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.chegou{
    display: flex;
    align-items: center;
    gap: 20px;
}

.hypo-content{
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 30px;
}

.hypo-content h2{
    color: var(--Color1, #223245);
font-family: "Open Sans";
font-size: 14px;
font-style: normal;
font-weight: 700;
line-height: 22px; /* 157.143% */
}

.hypo-tags{
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.hypo-tag{
    border-radius: 28px;
    background: #F6F7F8;
    padding: 8px 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.hypo-tag span{
    color: var(--Color0, #445972);
    font-family: "Open Sans";
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    line-height: 14px; /* 127.273% */
}

.hypo-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.edit-hypothesis-button,
.delete-hypothesis-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid #DFE5EC;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 6px;
    cursor: pointer;
    color: #6E7F93;
    transition: all 0.2s ease;
}

.edit-hypothesis-button:hover,
.delete-hypothesis-button:hover {
    background-color: #FFFFFF;
    color: #223245;
}

.hypo-buttons{
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: end;
    align-items: end;
}

.hypo-statut-select{
    border-radius: 8px;
    height: 36px;
    padding: 6px 12px;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
    border: 1px solid #DFE5EC;
    cursor: pointer;
    outline: none;
    appearance: auto;
    transition: all 0.2s;
    min-width: 160px;
}

.hypo-statut--a-tester{
    background: #F0F4F8;
    color: #6E7F93;
    border-color: #DFE5EC;
}

.hypo-statut--en-cours-de-test{
    background: #FFF7ED;
    color: #C2410C;
    border-color: #FDBA74;
}

.hypo-statut--testee-et-validee{
    background: #F0FDF4;
    color: #15803D;
    border-color: #86EFAC;
}

.hypo-statut--testee-et-invalidee{
    background: #FEF2F2;
    color: #B91C1C;
    border-color: #FCA5A5;
}

.hypothese.hypothese-validated{
    opacity: 0.85;
}

.hypothese.hypothese-invalidated{
    opacity: 0.6;
}


.hypo-statut-select:disabled{
    opacity: 0.5;
    cursor: wait;
}

.hypo-metrics{
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
}

.hypo-metrics .card{
    width: 50%;
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: var(--Linear, linear-gradient(144deg, #DFE5EC 11.42%, #FFF 75.57%));
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.hypo-metrics .card span{
    color: var(--Color-2, #0A58A5);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 133.333% */
}

.hypo-metrics .card h4{
    -webkit-text-stroke-width: 0.6px;
    -webkit-text-stroke-color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 33px; /* 40% */
    background: var(--fr, linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Editable Text Styles */
.editable-text {
    border-radius: 4px;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
    position: relative;
    border: 1px solid transparent;
}

/* Styles d'édition uniquement en mode édition */
.module-page[data-etude-marche-mode-value="edit"] .editable-text {
    cursor: pointer;
}

/* Hover uniquement quand on n'est pas en train d'éditer */
.module-page[data-etude-marche-mode-value="edit"] .editable-text:hover:not(.editing) {
    background-color: #F8F9FA;
    box-shadow: 0 0 0 1px #0A58A5;
}

/* En mode preview, pas de cursor pointer ni hover */
.module-page[data-etude-marche-mode-value="preview"] .editable-text {
    cursor: default;
}

/* Quand on est en train d'éditer, pas de hover ni de padding */
.editable-text.editing {
    cursor: default;
    padding: 0;
}

.editable-text.editing:hover {
    background-color: transparent;
    box-shadow: none;
}

.editable-textarea {
    width: 100%;
    min-height: 100px;
    padding: 8px;
    border: 1px solid #0A58A5;
    border-radius: 4px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    line-height: 1.6;
    color: #223245;
    resize: vertical;
    outline: none;
    background-color: #F5F5F5;
}

.editable-textarea:focus {
    border-color: #0A58A5;
    box-shadow: none;
}

.save-edit-button,
.cancel-edit-button {
    padding: 6px 12px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
    transition: all 0.2s ease;
}

.save-edit-button {
    background-color: #0A58A5;
    color: white;
}

.save-edit-button:hover:not(:disabled) {
    background-color: #084A8A;
}

.save-edit-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.cancel-edit-button {
    background-color: #6E7F93;
    color: white;
}

.cancel-edit-button:hover {
    background-color: #5A6B7F;
}

/* Sizing Modal Styles */
.sizing-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.sizing-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
}

.sizing-modal-content {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 12px;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    z-index: 1001;
}

.sizing-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #DFE5EC;
}

.sizing-modal-title {
    font-size: 20px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.sizing-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background-color: transparent;
    border: none;
    border-radius: 6px;
    color: #6E7F93;
    cursor: pointer;
    transition: all 0.2s ease;
}

.sizing-modal-close:hover {
    background-color: #F8F9FA;
    color: #223245;
}

.sizing-modal-close svg {
    width: 20px;
    height: 20px;
}

.sizing-modal-form {
    padding: 24px;
}

.sizing-form-group {
    margin-bottom: 20px;
}

.sizing-form-group label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #223245;
    margin-bottom: 8px;
    font-family: "Open Sans", sans-serif;
}

.sizing-form-input,
.sizing-form-textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #DFE5EC;
    border-radius: 6px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    color: #223245;
    transition: border-color 0.2s ease;
    box-sizing: border-box;
}

.sizing-form-input:focus,
.sizing-form-textarea:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.sizing-form-textarea {
    resize: vertical;
    min-height: 80px;
}

.sizing-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #DFE5EC;
}

.sizing-modal-cancel,
.sizing-modal-save {
    padding: 10px 20px;
    border: none;
    border-radius: 15px;
    font-size: 14px;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
}

.sizing-modal-cancel {
    background-color: #F8F9FA;
    color: #6E7F93;
}

.sizing-modal-cancel:hover {
    background-color: #DFE5EC;
}

.sizing-modal-save {
    background-color: #0A58A5;
    color: white;
}

.sizing-modal-save:hover:not(:disabled) {
    background-color: #084A8A;
}

.sizing-modal-save:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}


.edit-sizing-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background-color: transparent;
    border: 1px solid #DFE5EC;
    border-radius: 6px;
    color: #6E7F93;
    cursor: pointer;
    transition: all 0.2s ease;
}

.edit-sizing-button:hover {
    background-color: #F8F9FA;
    border-color: #0A58A5;
    color: #0A58A5;
}

.edit-sizing-button svg {
    width: 14px;
    height: 14px;
}


.swot-item-actions {
    display: flex;
    gap: 8px;
    margin-top: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #DFE5EC;
}

.edit-swot-button,
.delete-swot-button {
    padding: 6px 10px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
    border: 1px solid #DFE5EC;
    background-color: #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
}

.edit-swot-button i,
.delete-swot-button i {
    font-size: 12px;
}

.edit-swot-button {
    color: #6E7F93;
    border-color: #DFE5EC;
}

.edit-swot-button:hover {
    background-color: #F8F9FA;
    color: #223245;
    border-color: #DFE5EC;
}

.delete-swot-button {
    color: #6E7F93;
    border-color: #DFE5EC;
}

.delete-swot-button:hover {
    background-color: #F8F9FA;
    color: #223245;
    border-color: #DFE5EC;
}


/* Modal SWOT Styles */
.swot-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.swot-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
}

.swot-modal-content {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 12px;
    width: 100%;
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    z-index: 1001;
}

.swot-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #DFE5EC;
}

.swot-modal-header h3 {
    font-size: 20px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.swot-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background-color: transparent;
    border: none;
    border-radius: 6px;
    color: #6E7F93;
    cursor: pointer;
    transition: all 0.2s ease;
}

.swot-modal-close:hover {
    background-color: #F8F9FA;
    color: #223245;
}

.swot-modal-close svg {
    width: 20px;
    height: 20px;
}

.swot-modal-form {
    padding: 24px;
}

.swot-form-group {
    margin-bottom: 20px;
}

.swot-form-group label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #223245;
    margin-bottom: 8px;
    font-family: "Open Sans", sans-serif;
}

.swot-form-textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #DFE5EC;
    border-radius: 6px;
    font-size: 14px;
    color: #223245;
    font-family: "Open Sans", sans-serif;
    transition: border-color 0.2s ease;
    resize: vertical;
    min-height: 80px;
}

.swot-form-textarea:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.swot-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #DFE5EC;
}

.swot-modal-cancel,
.swot-modal-save {
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
    border: none;
}

.swot-modal-cancel {
    background-color: #F8F9FA;
    color: #223245;
}

.swot-modal-cancel:hover {
    background-color: #E9ECEF;
}

.swot-modal-save {
    background-color: #0A58A5;
    color: #FFFFFF;
}

.swot-modal-save:hover:not(:disabled) {
    background-color: #084A8F;
}

.swot-modal-save:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.competitors-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.add-competitor-button {
    padding: 5px 12px;
    background-color: #FFFFFF;
    border: 1px solid #DFE5EC;
    border-radius: 6px;
    color: #223245;
    font-size: 12px;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
}

.add-competitor-button svg{
    width: 15px;
    height: 15px;
}

.add-competitor-button:hover {
    background-color: #F8F9FA;
    border-color: #CED4DA;
}

 /* Actions pour les acteurs */
.competitor-actions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #DFE5EC;
}

.edit-competitor-button,
.delete-competitor-button {
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
    border: 1px solid #DFE5EC;
    background-color: #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
}

.edit-competitor-button i,
.delete-competitor-button i {
    font-size: 12px;
}

.edit-competitor-button {
    color: #6E7F93;
    border-color: #DFE5EC;
}

.edit-competitor-button:hover {
    background-color: #F8F9FA;
    color: #223245;
    border-color: #DFE5EC;
}

.delete-competitor-button {
    color: #6E7F93;
    border-color: #DFE5EC;
}

.delete-competitor-button:hover {
    background-color: #F8F9FA;
    color: #223245;
    border-color: #DFE5EC;
}


/* Competitor Modal Styles */
.competitor-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.competitor-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
}

.competitor-modal-content {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 12px;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    z-index: 1001;
}

.competitor-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #DFE5EC;
}

.competitor-modal-header h3 {
    font-size: 20px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.competitor-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background-color: transparent;
    border: none;
    border-radius: 6px;
    color: #6E7F93;
    cursor: pointer;
    transition: all 0.2s ease;
}

.competitor-modal-close:hover {
    background-color: #F8F9FA;
    color: #223245;
}

.competitor-modal-close svg {
    width: 20px;
    height: 20px;
}

.competitor-modal-form {
    padding: 24px;
}

.competitor-form-group {
    margin-bottom: 20px;
}

.competitor-form-group label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #223245;
    margin-bottom: 8px;
    font-family: "Open Sans", sans-serif;
}

.competitor-form-input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #DFE5EC;
    border-radius: 6px;
    font-size: 14px;
    color: #223245;
    font-family: "Open Sans", sans-serif;
    transition: border-color 0.2s ease;
}

.competitor-form-input:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.competitor-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #DFE5EC;
}

.competitor-modal-cancel,
.competitor-modal-save {
    padding: 10px 20px;
    border-radius: 15px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
    border: none;
}

.competitor-modal-cancel {
    background-color: #F8F9FA;
    color: #223245;
}

.competitor-modal-cancel:hover {
    background-color: #E9ECEF;
}

.competitor-modal-save {
    background-color: #0A58A5;
    color: #FFFFFF;
}

.competitor-modal-save:hover:not(:disabled) {
    background-color: #084A8F;
}

.competitor-modal-save:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}


/* Section Actions */
.section-actions {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}

.action-button {
    padding: 10px 20px;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    background-color: #FFFFFF;
    color: #223245;
    font-size: 14px;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 8px;
    margin-top: 20px;
}

.distribution-header-actions{
    display: flex;
    align-items: center;
    justify-content: end;
}

.action-button svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.action-button:hover {
    background-color: #F8F9FA;
    border-color: #CED4DA;
}

.action-button.primary {
    background-color: #0A58A5;
    color: #FFFFFF;
    border-color: #0A58A5;
}

.action-button.primary:hover {
    background-color: #084a8f;
}

/* Segment Actions */
.segment-actions {
    bottom: 12px;
    right: 12px;
    display: flex;
    gap: 8px;
    z-index: 10;
}

.edit-segment-button,
.delete-segment-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 6px;
    cursor: pointer;
    color: #6E7F93;
    transition: all 0.2s ease;
    border: 1px solid #DFE5EC;
}

.edit-segment-button:hover,
.delete-segment-button:hover {
    background-color: #FFFFFF;
    color: #223245;
}

.edit-segment-button i,
.delete-segment-button i {
    font-size: 14px;
}


/* Segment Modal */
.segment-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.segment-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
}

.segment-modal-content {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 12px;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.segment-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #DFE5EC;
}

.segment-modal-header h3 {
    font-size: 20px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.segment-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background: none;
    cursor: pointer;
    border-radius: 6px;
    color: #6E7F93;
    transition: all 0.2s ease;
}

.segment-modal-close:hover {
    background-color: #F8F9FA;
    color: #223245;
}

.segment-modal-close svg {
    width: 20px;
    height: 20px;
}

.segment-modal-form {
    padding: 24px;
}

.segment-form-group {
    margin-bottom: 20px;
}

.segment-form-group label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #223245;
    margin-bottom: 8px;
    font-family: "Open Sans", sans-serif;
}

.segment-form-input,
.segment-form-textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #DFE5EC;
    border-radius: 6px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    color: #223245;
    background-color: #FFFFFF;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.segment-form-input:focus,
.segment-form-textarea:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.segment-form-textarea {
    resize: vertical;
    min-height: 80px;
}

.segment-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #DFE5EC;
}

.segment-modal-cancel,
.segment-modal-save {
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
}

.segment-modal-cancel {
    background-color: #F8F9FA;
    color: #223245;
}

.segment-modal-cancel:hover {
    background-color: #E9ECEF;
}

.segment-modal-save {
    background-color: #0A58A5;
    color: #FFFFFF;
}

.segment-modal-save:hover:not(:disabled) {
    background-color: #084A8F;
}

.segment-modal-save:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}


.distribution-actions {
    top: 12px;
    right: 12px;
    display: flex;
    gap: 8px;
    z-index: 10;
}

.edit-distribution-button,
.delete-distribution-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid #DFE5EC;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 6px;
    cursor: pointer;
    color: #6E7F93;
    transition: all 0.2s ease;
}

.edit-distribution-button:hover,
.delete-distribution-button:hover {
    background-color: #FFFFFF;
    color: #223245;
}


/* Distribution Modal */
.distribution-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.distribution-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
}

.distribution-modal-content {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 12px;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    overflow-y: auto;
    z-index: 1001;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.distribution-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #DFE5EC;
}

.distribution-modal-header h3 {
    font-size: 20px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.distribution-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background: none;
    cursor: pointer;
    color: #6E7F93;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.distribution-modal-close:hover {
    background-color: #F8F9FA;
    color: #223245;
}

.distribution-modal-close svg {
    width: 20px;
    height: 20px;
}

.distribution-modal-form {
    padding: 24px;
}

.distribution-form-group {
    margin-bottom: 20px;
}

.distribution-form-group label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #223245;
    margin-bottom: 8px;
    font-family: "Open Sans", sans-serif;
}

.distribution-form-input,
.distribution-form-textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #DFE5EC;
    border-radius: 6px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    color: #223245;
    transition: border-color 0.2s ease;
}

.distribution-form-input:focus,
.distribution-form-textarea:focus {
    outline: none;
    border-color: #0A58A5;
}

.distribution-form-textarea {
    resize: vertical;
    min-height: 80px;
}

.distribution-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #DFE5EC;
}

.distribution-modal-cancel,
.distribution-modal-save {
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
}

.distribution-modal-cancel {
    background-color: #F8F9FA;
    color: #223245;
}

.distribution-modal-cancel:hover {
    background-color: #E9ECEF;
}

.distribution-modal-save {
    background-color: #0A58A5;
    color: #FFFFFF;
}

.distribution-modal-save:hover:not(:disabled) {
    background-color: #084A8F;
}

.distribution-modal-save:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}


.quote-actions {
    top: 12px;
    right: 12px;
    display: flex;
    gap: 8px;
    z-index: 10;
    margin-bottom: 10px;
}

.edit-insight-button,
.delete-insight-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid #DFE5EC;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 6px;
    cursor: pointer;
    color: #6E7F93;
    transition: all 0.2s ease;
}

.edit-insight-button:hover,
.delete-insight-button:hover {
    background-color: #FFFFFF;
    color: #223245;
}

.insights-header-actions {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 24px;
}


/* Insight Modal */
.insight-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.insight-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
}

.insight-modal-content {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 12px;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    overflow-y: auto;
    z-index: 1001;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.insight-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #DFE5EC;
}

.insight-modal-header h3 {
    font-size: 20px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.insight-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background: none;
    cursor: pointer;
    color: #6E7F93;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.insight-modal-close:hover {
    background-color: #F8F9FA;
    color: #223245;
}

.insight-modal-close svg {
    width: 20px;
    height: 20px;
}

.insight-modal-form {
    padding: 24px;
}

.insight-form-group {
    margin-bottom: 20px;
}

.insight-form-group label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #223245;
    margin-bottom: 8px;
    font-family: "Open Sans", sans-serif;
}

.insight-form-input,
.insight-form-textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #DFE5EC;
    border-radius: 6px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    color: #223245;
    transition: border-color 0.2s ease;
}

.insight-form-input:focus,
.insight-form-textarea:focus {
    outline: none;
    border-color: #0A58A5;
}

.insight-form-textarea {
    resize: vertical;
    min-height: 100px;
}

.insight-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #DFE5EC;
}

.insight-modal-cancel,
.insight-modal-save {
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
}

.insight-modal-cancel {
    background-color: #F8F9FA;
    color: #223245;
}

.insight-modal-cancel:hover {
    background-color: #E9ECEF;
}

.insight-modal-save {
    background-color: #0A58A5;
    color: #FFFFFF;
}

.insight-modal-save:hover:not(:disabled) {
    background-color: #084A8F;
}

.insight-modal-save:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}


/* Hypothesis Modal */
.hypothesis-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.hypothesis-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7
    );
}

.hypotheses-header-actions {
    display: flex;
    align-items: center;
    justify-content: end
    ;
}

.hypothesis-modal-content {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 12px;
    width: 100%;
    max-width: 55%;
    max-height: 90vh;
    overflow-y: auto;
    z-index: 1001;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.hypothesis-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #DFE5EC;
}

.hypothesis-modal-header h3 {
    font-size: 20px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.hypothesis-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background: none;
    cursor: pointer;
    color: #6E7F93;
    border-radius: 6px;
    transition: all 0.2s ease;
}

.hypothesis-modal-close:hover {
    background-color: #F8F9FA;
    color: #223245;
}

.hypothesis-modal-close svg {
    width: 20px;
    height: 20px;
}

.hypothesis-modal-form {
    padding: 24px;
}

.hypothesis-form-group {
    margin-bottom: 20px;
}

.hypothesis-form-group label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #223245;
    margin-bottom: 8px;
    font-family: "Open Sans", sans-serif;
}

.hypothesis-form-input,
.hypothesis-form-textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #DFE5EC;
    border-radius: 6px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    color: #223245;
    background-color: #FFFFFF;
    transition: all 0.2s ease;
}

.hypothesis-form-input:focus,
.hypothesis-form-textarea:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.hypothesis-form-textarea {
    resize: vertical;
    min-height: 80px;
}

.hypothesis-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #DFE5EC;
}

.hypothesis-modal-cancel,
.hypothesis-modal-save {
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    border: none;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
}

.hypothesis-modal-cancel {
    background-color: #F8F9FA;
    color: #223245;
}

.hypothesis-modal-cancel:hover {
    background-color: #E9ECEF;
}

.hypothesis-modal-save {
    background-color: #0A58A5;
    color: #FFFFFF;
}

.hypothesis-modal-save:hover:not(:disabled) {
    background-color: #084A8F;
}

.hypothesis-modal-save:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}


/* ==================== RESPONSIVE MOBILE ==================== */
@media (max-width: 768px) {

    /* Layout: passe en colonne */
    .etude-marche-layout {
        flex-direction: column;
        gap: 0;
        height: calc(100vh - 77.5px - 64px - 56px);
        overflow: scroll;
    }

    /* Sidebar → barre horizontale scrollable */
    .etude-marche-sidebar {
        width: 100%;
        height: auto;
        border-right: none;
        border-bottom: 1px solid #DFE5EC;
        padding: 12px 0;
        flex-direction: row;
        position: sticky;
        top: 0;
        z-index: 10;
        background: #fff;
        width: 100%;
    }

    .etude-marche-sidebar nav{
        padding: 0 15px;
    }

    /* Nav: horizontal scroll */
    .etude-sections-nav {
        flex-direction: row;
        gap: 8px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 2px;
    }

    .etude-sections-nav::-webkit-scrollbar {
        display: none;
    }

    /* Items nav: compacts, pas de retour à la ligne */
    .etude-sections-nav a {
        white-space: nowrap;
        padding: 8px 12px;
        gap: 8px;
        flex-shrink: 0;
        border-radius: 8px;
    }

    .etude-sections-nav a img {
        width: 14px;
        height: 14px;
    }

    .etude-sections-nav a span {
        font-size: 12px;
        line-height: 16px;
    }

    /* Contenu: pleine largeur */
    .etude-marche-content {
        width: 100%;
        height: auto !important;
        overflow: visible;
        padding: 16px;
        overflow: scroll;
    }

    .deep-research-cards{
        display: flex;
        flex-direction: column;
        justify-content: start;
        align-items: start;
        gap: 25px;
    }

    .deep-research-card{
        width: 100%;
        gap: 5px;
    }

    /* Sections */
    .etude-section-title {
        padding: 10px 14px;
        height: auto;
    }

    .etude-section-title h2 {
        font-size: 16px;
        gap: 10px;
    }

    .section-content {
        padding: 14px;
    }

    /* ── Header étude de marché ── */

    /* Header: empiler titre et boutons */
    .etude-marche-page .page-header-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 14px 16px;
    }

    /* Ligne du titre */
    .etude-marche-page .etude-index-page-header-left {
        width: 100%;
    }

    .etude-marche-page .etude-title h1 {
        font-size: 15px;
    }

    /* Ligne des boutons: prend toute la largeur */
    .etude-marche-page .projects-index-page-header-right {
        width: 100%;
        gap: 8px;
        justify-content: space-between;
    }

    /* Mode toggle: plus compact */
    .etude-marche-page .mode-toggle-group {
        width: auto;
        min-width: 0;
        height: 36px;
        flex: 1;
    }

    .etude-marche-page .mode-toggle-group button {
        padding: 4px 10px;
        gap: 5px;
    }

    .etude-marche-page .mode-toggle-group button span {
        display: none;
    }

    .etude-marche-page .mode-toggle-group button i {
        font-size: 14px;
    }

    /* Bouton export: icône seule */
    .etude-marche-page .download-button {
        padding: 8px 10px;
        gap: 0;
    }

    .etude-marche-page .download-button span {
        display: none;
    }

    /* Bouton aide: icône seule (déjà géré dans app.css, renforcement) */
    .etude-marche-page .aide-button {
        padding: 8px 10px;
    }

    .mode-toggle-group button span{
        display: none;
    }

    .mode-toggle-group{
        width: 70px;
    }

    .download-button span{
        display: none;
    }

    .projects-index-page-header-right {
        gap: 15px;
    }

    .customer-profile-section, .value-prop-map-section{
        padding: 0 !important;
    }

    .download-button{
        padding: 0 10px;
    }

    .synthese-right .key-metrics, .market-sizing-cards, .model-list li{
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .synthese-right .key-metrics .metric-card, .sizing-method{
        width: 100%;
    }

    .model-metrics{
        width: 100%;
    }

    .distribution-card, .quote-meta, .hypo-tags, .chegou{
        display: flex;
        flex-direction: column;
        gap: 10px;
        align-items: start;
    }

    .hypo-buttons{
        width: 100%;
    }

    .hypo-statut-select{
        width: 100%;
    }

    .hypo-metrics{
        flex-direction: column;
    }

    .hypo-metrics .card{
        width: 100%;
    }

    .hypothese{
        flex-direction: column;
    }

    .hypo-buttons{
        flex-direction: column-reverse;
    }

    .distribution-footer{
        justify-content: start;
        align-items: start;
    }

    .swot-matrix{
        display: flex;
        flex-direction: column;
    }

    .chart-container {
        height: 335px;
        margin-bottom: 12px;
    }
}

/* ========== Sources Section ========== */

.sources-section-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
}

.sources-description {
    font-size: 14px;
    color: #6E7F93;
    line-height: 1.6;
    margin: 0;
}

.sources-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.source-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: #FAFBFC;
    border: 1px solid #EEF1F5;
    border-radius: 8px;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.source-item:hover {
    border-color: #0A58A5;
    background: #F6F9FD;
}

.source-index {
    width: 26px;
    height: 26px;
    min-width: 26px;
    border-radius: 50%;
    background: #EEF1F5;
    color: #6E7F93;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}

.source-link {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #0A58A5;
    text-decoration: none;
    font-size: 13px;
    min-width: 0;
    flex: 1;
}

.source-link:hover {
    text-decoration: underline;
}

.source-link svg {
    flex-shrink: 0;
    color: #9FAAB7;
}

.source-url {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sources-empty {
    padding: 24px;
    background: #FAFBFC;
    border: 1px dashed #DFE5EC;
    border-radius: 8px;
    text-align: center;
}

.sources-empty p {
    margin: 0;
    font-size: 14px;
    color: #9FAAB7;
}

.sources-ia-badges {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding-top: 8px;
    border-top: 1px solid #EEF1F5;
}

.sources-ia-label {
    font-size: 13px;
    color: #6E7F93;
    font-weight: 500;
}

.source-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    background: #EEF1F5;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    color: #3D4F63;
}

/* ===== Export PDF Modal ===== */
.bp-export-modal-overlay{
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.5);
    backdrop-filter: blur(4px);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.bp-export-modal-overlay.visible{
    opacity: 1;
    pointer-events: auto;
}
.bp-export-modal{
    background: #fff;
    border-radius: 20px;
    padding: 48px 40px 40px;
    width: 400px;
    max-width: 90vw;
    text-align: center;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
    transform: scale(0.9) translateY(20px);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.bp-export-modal-overlay.visible .bp-export-modal{
    transform: scale(1) translateY(0);
}
.bp-export-modal-icon{
    position: relative;
    width: 72px;
    height: 72px;
    margin: 0 auto 24px;
}
.bp-export-modal-spinner{
    position: absolute;
    inset: 0;
    width: 72px;
    height: 72px;
    animation: bp-modal-spin 1.2s linear infinite;
}
.bp-export-modal-spinner circle{
    stroke: #0A58A5;
    stroke-dasharray: 90 150;
    stroke-dashoffset: 0;
}
.bp-export-modal-overlay.success .bp-export-modal-spinner circle{
    stroke: #10B981;
}
.bp-export-modal-overlay.error .bp-export-modal-spinner circle{
    stroke: #EF4444;
}
.bp-export-modal-overlay.success .bp-export-modal-spinner,
.bp-export-modal-overlay.error .bp-export-modal-spinner{
    animation: none;
}
.bp-export-modal-overlay.success .bp-export-modal-spinner circle,
.bp-export-modal-overlay.error .bp-export-modal-spinner circle{
    stroke-dasharray: 126 126;
    stroke-dashoffset: 0;
    transition: stroke-dasharray 0.4s ease, stroke 0.3s ease;
}
.bp-export-modal-icon i{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    color: #0A58A5;
    transition: color 0.3s ease;
}
@keyframes bp-modal-spin{
    to{ transform: rotate(360deg); }
}
.bp-export-modal h2{
    font-size: 20px;
    font-weight: 700;
    color: #1F2937;
    margin: 0 0 6px;
    transition: color 0.3s ease;
}
.bp-export-modal p{
    font-size: 14px;
    color: #6B7280;
    margin: 0 0 32px;
}
.bp-export-modal-steps{
    display: flex;
    flex-direction: column;
    gap: 14px;
    text-align: left;
}
.bp-export-step{
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    color: #9CA3AF;
    transition: color 0.3s ease;
}
.bp-export-step.active{
    color: #0A58A5;
    font-weight: 600;
}
.bp-export-step.done{
    color: #10B981;
}
.bp-export-step-dot{
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid #E5E7EB;
    position: relative;
    flex-shrink: 0;
    transition: border-color 0.3s ease, background 0.3s ease;
}
.bp-export-step.active .bp-export-step-dot{
    border-color: #0A58A5;
    background: #EFF6FF;
}
.bp-export-step.active .bp-export-step-dot::after{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    background: #0A58A5;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: bp-step-pulse 1.2s ease-in-out infinite;
}
@keyframes bp-step-pulse{
    0%, 100%{ opacity: 1; transform: translate(-50%, -50%) scale(1); }
    50%{ opacity: 0.5; transform: translate(-50%, -50%) scale(0.7); }
}
.bp-export-step.done .bp-export-step-dot{
    border-color: #10B981;
    background: #10B981;
}
.bp-export-step.done .bp-export-step-dot::after{
    content: '\f00c';
    font-family: 'Font Awesome 6 Free', 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 10px;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: none;
}
.bmc-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: minmax(0, 225px) minmax(0, 225px) auto;
    gap: 10px;
    overflow: hidden;
}

.bmc-section {
    padding: 20px;
    min-height: 180px;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
}

.bmc-section-header {
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.bmc-section-header h3 {
    color: var(--Color1, #223245);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 166.667% */
}

.bmc-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    padding-top: 0;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
}

.bmc-item {
    position: relative;
    padding: 12px 16px;
    border: none;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
    transition: all 0.2s ease;
    display: flex;
    align-items: start;
    justify-content: space-between;
    margin-bottom: 0;
    cursor: grab;
}

.bmc-item:active {
    cursor: grabbing;
}

.bmc-item-dragging {
    opacity: 0.3;
}

.bmc-item-drag-over {
    border-top: 2px solid #0A58A5;
}

.bmc-items-drag-over {
    background: rgba(10, 88, 165, 0.04);
    border-radius: 8px;
}

.bmc-item:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.bmc-item:hover .bmc-item-delete {
    opacity: 1;
}

.bmc-item-text {
    flex: 1;
    word-wrap: break-word;
    overflow-wrap: break-word;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
    font-weight: 400;
}

.bmc-item-delete {
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    padding: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: all 0.2s ease;
    flex-shrink: 0;
    margin-left: 8px;
    opacity: 0;
    color: inherit;
}

.bmc-add-item {
    background: none;
    border: none;
    color: #6E7F93;
    font-size: 18px;
    font-weight: 400;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    opacity: 0;
}

.bmc-section:hover .bmc-add-item {
    opacity: 1;
}

.bmc-add-item:hover {
    color: #0A58A5;
}
/* Specific Section Colors and Positioning */
.bmc-partners {
    grid-column: 1;
    grid-row: 1 / 3;
    background-color: #e6eaf07d;
    border: 1px solid #E6EAF0
}

/* Colors are now applied via inline styles from the item data */

.bmc-activities {
    grid-column: 2;
    grid-row: 1;
    background-color: #e6eaf07d;
    border: 1px solid #E6EAF0
}

/* Colors are now applied via inline styles from the item data */

.bmc-value-prop {
    grid-column: 3;
    grid-row: 1 / 3;
    background-color: #e6eaf07d;
    border: 1px solid #E6EAF0
}

/* Colors are now applied via inline styles from the item data */

.bmc-relationships {
    grid-column: 4;
    grid-row: 1;
    background-color: #e6eaf07d;
    border: 1px solid #E6EAF0
}


/* Colors are now applied via inline styles from the item data */

.bmc-segments {
    grid-column: 5;
    grid-row: 1 / 3;
    background-color: #e6eaf07d;
    border: 1px solid #E6EAF0
}

/* Colors are now applied via inline styles from the item data */

.bmc-empty-top {
    display: none;
}

.bmc-resources {
    grid-column: 2;
    grid-row: 2;
    background-color: #e6eaf07d;
    border: 1px solid #E6EAF0
}


/* Colors are now applied via inline styles from the item data */

.bmc-channels {
    grid-column: 4;
    grid-row: 2;
    background-color: #e6eaf07d;
    border: 1px solid #E6EAF0
}

/* Colors are now applied via inline styles from the item data */

.bmc-row-3-container {
    grid-column: 1 / -1;
    grid-row: 3;
    display: flex;
    gap: 10px;
}

.bmc-costs {
    flex: 1;
    background-color: #e6eaf07d;
    border: 1px solid #E6EAF0;
    height: 225px;
}

/* Colors are now applied via inline styles from the item data */

.bmc-revenue {
    flex: 1;
    background-color: #e6eaf07d;
    border: 1px solid #E6EAF0;
    height: 225px;
}

/* Display items in 2 columns for costs and revenue sections */
.bmc-costs .bmc-items,
.bmc-revenue .bmc-items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    flex-direction: unset;
}

.bmc-costs .bmc-item,
.bmc-revenue .bmc-item {
    margin-bottom: 0;
}


/* Modal Styles */
.bmc-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.bmc-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
}

.bmc-modal-content {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 12px;
    width: 100%;
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    z-index: 1001;
}

.bmc-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #DFE5EC;
    background: linear-gradient(180deg, #E6ECF5 0%, #FFFFFF 100%);
}

.bmc-modal-header h3 {
    font-size: 20px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.bmc-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background-color: transparent;
    border: none;
    border-radius: 6px;
    color: #6E7F93;
    cursor: pointer;
    transition: all 0.2s ease;
}

.bmc-modal-close:hover {
    background-color: #F8F9FA;
    color: #223245;
}

.bmc-modal-close svg {
    width: 20px;
    height: 20px;
}

.bmc-modal-form {
    padding: 24px;
}

.bmc-form-group {
    margin-bottom: 20px;
}

.bmc-form-group label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #223245;
    margin-bottom: 8px;
    font-family: "Open Sans", sans-serif;
}

.bmc-form-textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    font-size: 14px;
    color: #223245;
    font-family: "Open Sans", sans-serif;
    transition: border-color 0.2s ease;
    resize: vertical;
    min-height: 100px;
    box-sizing: border-box;
    resize: none;
}

.bmc-form-textarea:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: none;
}

.bmc-color-selector {
    display: flex;
    gap: 12px;
    margin-top: 8px;
}

.bmc-color-option {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
    background: none;
}

.bmc-color-option:hover {
    transform: scale(1.1);
}

.bmc-color-option.active {
    border: 2px solid #22324569;
    transform: scale(1.1);
}

.bmc-modal-actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #DFE5EC;
}

.bmc-modal-cancel,
.bmc-modal-save {
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
    border: none;
}

.bmc-modal-cancel {
    background-color: #F8F9FA;
    color: #223245;
}

.bmc-modal-cancel:hover {
    background-color: #E9ECEF;
}

.bmc-modal-save {
    background-color: #0A58A5;
    color: #FFFFFF;
}

.bmc-modal-save:hover {
    background-color: #084a8f;
}

/* ==================== RESPONSIVE MOBILE ==================== */
@media (max-width: 768px){
    .bmc-grid, .bmc-row-3-container, .bmc-costs .bmc-items, .bmc-revenue .bmc-items{
        display: flex;
        flex-direction: column;
    }
}


/* Welcome Modal */
.welcome-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.welcome-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
}

.welcome-modal-content {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 16px;
    width: 100%;
    max-width: 50%;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    z-index: 2001;
    overflow: hidden;
    height: 70vh;
}

.welcome-modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background-color: transparent;
    border: none;
    border-radius: 6px;
    color: #6E7F93;
    cursor: pointer;
    transition: all 0.2s ease;
    z-index: 10;
}

.welcome-modal-close:hover {
    background-color: #F8F9FA;
    color: #223245;
}

.welcome-modal-close i {
    font-size: 18px;
}

.welcome-step {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.welcome-modal-body {
    padding: 48px 40px 32px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    height: calc(100% - 95px);
    justify-content: center;
}

.welcome-icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.welcome-title {
    font-size: 28px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.welcome-description {
    font-size: 16px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0;
    font-family: "Open Sans", sans-serif;
    max-width: 480px;
}

.welcome-modal-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 20px;
    border-top: 1px solid #DFE5EC;
    background-color: #F8F9FA;
    height: 95px;
}

.bp-step-indicator{
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.bp-step-indicator-label{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 14px;
}

.bp-step-indicator-bar{
    width: 100%;
    height: 6px;
    background: #EEF2F6;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 20px;
}

.bp-step-indicator-fill{
    height: 100%;
    background: #0A58A5;
    border-radius: 3px;
    transition: width 0.3s ease;
}

.welcome-footer-buttons {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    justify-content: space-between;
}

.welcome-previous-button {
    padding: 12px 0;
    background-color: transparent;
    border: none;
    color: #6E7F93;
    font-size: 16px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: color 0.2s ease;
}

.welcome-previous-button:hover {
    color: #223245;
}

.welcome-progress {
    display: flex;
    gap: 8px;
    align-items: center;
}

.progress-step {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #DFE5EC;
    transition: all 0.2s ease;
}

.progress-step.active {
    width: 32px;
    height: 8px;
    border-radius: 4px;
    background-color: #0A58A5;
}

.welcome-next-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 30px;
    background-color: #0A58A5;
    color: #FFFFFF;
    border: none;
    border-radius: 15px;
    font-size: 16px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.welcome-next-button{
    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
}

.welcome-next-button:hover {
    background-color: #084a8f;
}

.welcome-next-button i {
    font-size: 16px;
}

.welcome-configure-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background-color: #0A58A5;
    color: #FFFFFF;
    border: none;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    height: 44px;
    transition: background-color 0.2s ease;
}

.welcome-configure-button:hover {
    background-color: #084a8f;
}


/* Formulaire de configuration */
.welcome-modal-header-form {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 20px;
    border-bottom: 1px solid #DFE5EC;
}

.welcome-form-title-section {
    display: flex;
    align-items: center;
    gap: 12px;
}

.welcome-form-title-section i {
    font-size: 24px;
    color: #0A58A5;
}

.welcome-form-title {
    font-size: 24px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.welcome-form-description {
    margin: 16px 0 24px;
    padding: 0 25px;
    font-size: 14px;
    font-weight: 400;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
}

.welcome-config-form {
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 0 25px;
}

.welcome-config-form-container{
    height: 100%;
    position: relative;
}

.welcome-modal-footer-esc{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 24px 20px;
    border-top: 1px solid #DFE5EC;
    background-color: #F8F9FA;
    height: 95px;
}

.welcome-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.welcome-form-label {
    font-size: 14px;
    font-weight: 600;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

.welcome-form-select,
.welcome-form-input {
    padding: 12px 16px;
    background-color: #FFFFFF;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 400;
    color: #223245;
    font-family: "Open Sans", sans-serif;
    transition: border-color 0.2s ease;
    width: 100%;
    box-sizing: border-box;
}

.welcome-form-select:focus,
.welcome-form-input:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.welcome-form-row {
    display: flex;
    gap: 12px;
}

.welcome-currency-select {
    width: 120px;
    flex-shrink: 0;
}

.welcome-checkbox-group {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.welcome-checkbox-label {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    padding: 12px;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.welcome-checkbox-label:hover {
    background-color: #F8F9FA;
    border-color: #CED4DA;
}

.welcome-checkbox {
    display: none;
}

.welcome-checkbox-custom {
    width: 20px;
    height: 20px;
    border: 2px solid #DFE5EC;
    border-radius: 4px;
    background-color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.welcome-checkbox:checked + .welcome-checkbox-custom {
    background-color: #0A58A5;
    border-color: #0A58A5;
}

.welcome-checkbox:checked + .welcome-checkbox-custom::after {
    content: '\2713';
    color: white;
    font-size: 12px;
    font-weight: bold;
}

.welcome-checkbox-text {
    font-size: 14px;
    font-weight: 400;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

.welcome-form-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 24px;
    margin-top: 8px;
    border-top: 1px solid #DFE5EC;
}

.welcome-back-button {
    padding: 12px 0;
    background-color: transparent;
    border: none;
    color: #6E7F93;
    font-size: 16px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: color 0.2s ease;
}

.welcome-back-button:hover {
    color: #223245;
}

.welcome-generate-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background-color: #0A58A5;
    color: #FFFFFF;
    border: none;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.welcome-generate-button:hover {
    background-color: #084a8f;
}

.welcome-step .simple-loader{
    margin: 25px;
}

.projection-main-content {
    background-color: #fff;
}

.projection-nav-tabs{
    display: flex;
    align-items: center;
    gap: 8px;
}

.projection-nav-tab{
    border-radius: 30px;
    background: #F6F7F8;
    height: 34px;
    padding: 9px 31px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: none;
}

.projection-nav-tab span{
    color: var(--Color-3, #B5C1D0);
    text-align: center;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
}

.scenarios-title-section{
    display: flex;
    align-items: center;
    gap: 10px;
}

.scenarios-title-section img{
    width: 36px;
    height: 36px;
}

.projection-nav-tab.locked{
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}

.projection-nav-tab .tab-lock-icon{
    font-size: 10px;
    color: #B5C1D0;
}

.projection-nav-tab.active{
    border-radius: 30px;
    border-bottom: 2px solid var(--Color-2, #0A58A5);
    background: linear-gradient(0deg, #0A58A5 0%, #0A58A5 100%), #F6F7F8;
}

.projection-nav-tab.active span{
    color: #FFF;
    text-align: center;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
}

.tab-content{
    margin-top: 24px;
    flex-direction: column;
}

.financial-metrics-grid{
    display: flex;
    align-items: stretch;
    gap: 19px;
}

.metric-card{
    width: 25%;
    border-radius: 20px;
    border: 1px solid #E6EAF0;
    background: #FFF;
    /* gr1 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    padding: 16px;
}

.metric-label{
    color: #6E7F93;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.metric-value{
    color: #223245;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    margin: 15px 0;
}

.metric-details{
    color: #6E7F93;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
}

.chart-card-header{
    border-radius: 20px 20px 0 0;
    border-bottom: 1px solid var(--stroke-1, #DFE5EC);
    background: linear-gradient(164deg, #DFE5EC 1.26%, #FFF 79.92%);
    display: flex;
    align-items: center;
    height: 56px;
    padding: 0 20px;
}

.chart-container{
    padding: 20px;
}

.charts-grid{
    display: flex;
    align-items: center;
    gap: 19px;
    margin-top: 19px;
    width: 100%;
}

.chart-card{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    width: 50%;
}

.chart-title{
    color: var(--Color1, #223245);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
}

.chart-container{
    margin-top: 15px;
}

canvas{
    height: 300px;
    width: 100%;
}

.scenarios-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 16px;
    margin-bottom: 19px;
}

.scenarios-controls{
    display: flex;
    align-items: center;
    gap: 10px;
}

.scenarios-title{
    color: #223245;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
}

.scenarios-subtitle{
    color: #6E7F93;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
}

.scenario-buttons{
    border-radius: 16px;
    background: #F6F7F8;
    padding: 5px;
    height: 45px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #DFE5EC;
}

.scenario-buttons button{
    height: 100%;
    border: none;
    padding: 0 20px;
    border-radius: 10px;
    color: #6E7F93;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    text-transform: capitalize;
}

.scenario-buttons button.active{
    border-radius: 16px;
    background: #0A58A5;
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
}

.scenarios-multipliers{
    display: flex;
    align-items: center;
    gap: 50px;
    padding-left: 50px;
    border-left: 1px solid var(--stroke-1, #DFE5EC);
    margin-left: 50px;
}

.multiplier-item{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    display: flex;
    flex-direction: column;
}

.investments-layout{
    margin-top: 19px;
    display: flex;
    gap: 19px;
    align-items: start;
}

.investments-list-card{
    width: 70%;
}

.investments-list-card{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
}

.investments-list-header{
    border-radius: 20px 20px 0 0;
    border-bottom: 1px solid var(--stroke-1, #DFE5EC);
    background: linear-gradient(180deg, #E6ECF5 0%, #FFFFFF 100%);    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 56px;
    padding: 0 20px;
}

.investments-list-header h3{
    color: var(--Color1, #223245);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
}

.add-investment-btn, .add-line-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    border: none;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    color: #0A57A5;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
}

.add-investment-btn span, .add-line-btn span{
    font-weight: 500;
}

.investments-table{
    width: 100%;
}

td, th {
    border-bottom: 1px solid #DFE5EC;
    padding: 10px;
}
  
table {
    border-collapse: collapse;
}

thead tr{
    background-color: #F6F7F8;
}

thead tr th{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    padding: 5px 20px;
    text-align: left;
}

.investment-type-badge.immateriel{
    border-radius: 8px;
    border: 0.5px solid #9747FF;
    background: rgba(151, 71, 255, 0.10);
    padding: 6px 17px;
    color: #9747FF;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
}

.investment-type-badge.materiel{
    border-radius: 8px;
    border: 0.5px solid var(--Color-2, #0A58A5);
    background: rgba(10, 88, 165, 0.06);
    padding: 6px 17px;
    color: var(--Color-2, #0A58A5);
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
}

.investments-total-distribution-container{
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 30%;
}

.investments-validate-section{
    display: flex;
    justify-content: flex-end;
    padding: 20px 0;
    width: 100%;
}

.investments-validate-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 32px;
    border-radius: 12px;
    background: #0A58A5;
    color: #fff;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
    width: 100%;
    display: flex;
    justify-content: center;
}

.investments-validate-btn:hover{
    background: #084a8a;
}

.investments-validate-btn i{
    font-size: 13px;
}

/* Plan de financement */
.financing-echeancier-hint{
    color: #6E7F93;
    font-size: 13px;
    margin: 8px 0 16px 0;
    font-style: italic;
}

.financing-emprunts-list{
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.financing-emprunt-btn{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 18px;
    border-radius: 12px;
    border: 1px solid #E6EAF0;
    background: #FFF;
    cursor: pointer;
    transition: all 0.2s ease;
}

.financing-emprunt-btn:hover{
    border-color: #0A58A5;
    background: #F8FAFD;
}

.financing-emprunt-btn.active{
    border-color: #0A58A5;
    background: #F0F6FF;
}

.financing-emprunt-btn-info{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.financing-emprunt-btn-name{
    color: #223245;
    font-size: 14px;
    font-weight: 600;
}

.financing-emprunt-btn-details{
    color: #6E7F93;
    font-size: 12px;
    font-weight: 400;
}

.financing-emprunt-chevron{
    color: #6E7F93;
    font-size: 12px;
    transition: transform 0.2s ease;
}

.financing-amortissement-table{
    padding: 0 4px 12px 4px;
}

.financing-amortissement{
    margin-top: 0;
    border-radius: 0 0 12px 12px;
    border-top: none;
}

tbody tr:last-child td{
    border-bottom: none;
}

tbody td{
    color: var(--Color1, #223245);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    padding: 20px;
}

.edit-investment-btn, .edit-line-btn{
    margin-right: 10px;
}

.edit-investment-btn, .delete-investment-btn, .edit-line-btn, .delete-line-btn{
    border: none;
}

.delete-investment-btn i, .edit-investment-btn i, .delete-line-btn i, .edit-line-btn i{
    color: #6E7F93;
}

.investments-total{
    display: flex;
    flex-direction: column;
    gap: 20px;
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    width: 100%;
    /* gr2 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    padding: 26px 25px;
}

.total-label{
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
}

.total-value{
    color: var(--Color-2, #0A58A5);
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
}

.investments-distribution-card{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
}

.distribution-title{
    color: var(--Color1, #223245);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
}

.distribution-bars{
    margin-top: 20px;
    padding: 0 20px;
    padding-bottom: 20px;
}

.distribution-label-row{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.distribution-label{
    color: #6E7F93;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
}

.distribution-percent{
    color: #223245;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
}

.distribution-bars{
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.distribution-label-row{
    margin-bottom: 5px;
}

.distribution-bar-container{
    border-radius: 16777200px;
    background: #F3F4F6;
    height: 8px;
    width: 100%;
}

.distribution-bar.materiel{
    background: #2B7FFF;
    height: 100%;
    border-radius: 16px;
}

.distribution-bar.immateriel{
    background: #AD46FF;
    height: 100%;
    border-radius: 16px;
}


/* Investment Modal */
.investment-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.investment-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
}

.investment-modal-content {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 16px;
    width: 100%;
    max-width: 500px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    z-index: 2001;
    overflow: hidden;
    max-height: 90vh;
    overflow-y: auto;
}

.investment-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px;
    border-bottom: 1px solid #DFE5EC;
    margin-bottom: 24px;
}

.investment-modal-title {
    font-size: 20px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.investment-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background-color: transparent;
    border: none;
    border-radius: 6px;
    color: #6E7F93;
    cursor: pointer;
    transition: all 0.2s ease;
}

.investment-modal-close:hover {
    background-color: #F8F9FA;
    color: #223245;
}

.investment-modal-close i {
    font-size: 18px;
}

.investment-form {
    padding: 0 24px 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.investment-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.investment-form-label {
    font-size: 14px;
    font-weight: 600;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

.investment-form-input,
.investment-form-select {
    padding: 12px 16px;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    color: #223245;
    background-color: #FFFFFF;
    transition: border-color 0.2s ease;
}

.investment-form-input:focus,
.investment-form-select:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.investment-form-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.investment-form-row .investment-form-input {
    flex: 1;
}

.investment-currency {
    font-size: 14px;
    font-weight: 500;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
    white-space: nowrap;
}

.investment-form-footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 8px;
    margin-top: 8px;
    border-top: 1px solid #DFE5EC;
}

.investment-form-cancel,
.investment-form-submit {
    padding: 10px 30px;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    border: none;
}

.investment-form-cancel {
    background-color: #F8F9FA;
    color: #6E7F93;
}

.investment-form-cancel:hover {
    background-color: #E9ECEF;
    color: #223245;
}

.investment-form-submit {
    background-color: #0A58A5;
    color: #FFFFFF;
}

.investment-form-submit:hover {
    background-color: #084a8f;
}

.income-statement-section{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
}

.income-statement-section-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.income-statement-section-title{
    color: var(--Color1, #223245);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
}

.income-statement-table{
    width: 100%;
}

.income-statement-container{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.income-statement-form-checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
    color: #223245;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
}

.income-statement-form-checkbox-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* Income Statement Modal (same styles as investment modal) */
.income-statement-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.income-statement-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
}

.income-statement-modal-content {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 16px;
    width: 100%;
    max-width: 500px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    z-index: 2001;
    overflow: hidden;
    max-height: 90vh;
    overflow-y: auto;
}

.income-statement-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 24px 0;
    border-bottom: 1px solid #DFE5EC;
    margin-bottom: 24px;
}

.income-statement-modal-title {
    font-size: 20px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.income-statement-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background-color: transparent;
    border: none;
    border-radius: 6px;
    color: #6E7F93;
    cursor: pointer;
    transition: all 0.2s ease;
}

.income-statement-modal-close:hover {
    background-color: #F8F9FA;
    color: #223245;
}

.income-statement-modal-close i {
    font-size: 18px;
}

.income-statement-form {
    padding: 0 24px 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.income-statement-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.income-statement-form-label {
    font-size: 14px;
    font-weight: 600;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

.income-statement-form-input,
.income-statement-form-select {
    padding: 12px 16px;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    color: #223245;
    background-color: #FFFFFF;
    transition: border-color 0.2s ease;
}

.income-statement-form-input:focus,
.income-statement-form-select:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.income-statement-form-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.income-statement-form-row .income-statement-form-input {
    flex: 1;
}

.income-statement-currency {
    font-size: 14px;
    font-weight: 500;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
    white-space: nowrap;
}

.income-statement-form-checkbox-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
    color: #223245;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
}

.income-statement-form-checkbox-label input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.income-statement-form-footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 8px;
    margin-top: 8px;
    border-top: 1px solid #DFE5EC;
}

.income-statement-form-cancel,
.income-statement-form-submit {
    padding: 10px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    border: none;
}

.income-statement-form-cancel {
    background-color: #F8F9FA;
    color: #6E7F93;
}

.income-statement-form-cancel:hover {
    background-color: #E9ECEF;
    color: #223245;
}

.income-statement-form-submit {
    background-color: #0A58A5;
    color: #FFFFFF;
}

.income-statement-form-submit:hover {
    background-color: #084a8f;
}

.cashflow-table-container{
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
}

table{
    width: 100%;
}

.export-csv-btn{
    color: #0A57A5;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    border: none;
}

.balance-sheet-cards{
    display: flex;
    gap: 20px;
    width: 100%;
}

.balance-sheet-card{
    width: 50%;
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
}

.balance-sheet-card-header-container{
    border-bottom: 1px solid #E6EAF0;
    background: rgba(239, 246, 255, 0.50);
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.passif-card-header-container{
    border-bottom: 1px solid #E6EAF0;
    background: rgba(240, 253, 244, 0.50);
}

.passif-card-header-container .balance-sheet-total{
    color: #008236;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
}

.passif-card .balance-sheet-section-total{
    color: #008236;
}

.passif-card .balance-sheet-items{
    border-left: 2px solid #CFFAEA;
}

.balance-sheet-card-title{
    color: #223245;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
}

.balance-sheet-card-description{
    color: #6E7F93;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
}

.balance-sheet-total.actif-total{
    color: var(--Color-2, #0A58A5);
    font-weight: 700;
}

.balance-sheet-section{
    border-radius: 16px;
    border: 1px solid #F3F4F6;  
    padding: 20px;
    margin: 20px;
}

.balance-sheet-section-title{
    color: #223245;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.balance-sheet-section-total{
    color: #0A57A5;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    margin: 10px 0;
}

.balance-sheet-items{
    border-left: 2px solid #DBEAFE;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.balance-sheet-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.balance-sheet-item-label{
    color: #6E7F93;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
}


.toggle-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}

.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #DFE5EC;
    transition: 0.3s;
    border-radius: 24px;
}

.toggle-slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: 0.3s;
    border-radius: 50%;
}

.toggle-switch input:checked + .toggle-slider {
    background: #59B224;
}

.toggle-switch input:checked + .toggle-slider:before {
    transform: translateX(20px);
}

.toggle-switch input:disabled + .toggle-slider {
    cursor: not-allowed;
}

.total-entrees td{
    color: #00A63E;
}

.total-sorties td{
    color: #C22626;
}

.solde-net td{
    color: #0A57A5;
}

.overflow-scroll{
    overflow: scroll;
    height: 46vh;
}

/* ==================== RESPONSIVE MOBILE ==================== */
@media (max-width: 768px) {

    .projection-nav-tabs {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        border-bottom: 1px solid #DFE5EC;
        height: 59px;
    }

    .projection-nav-tabs::-webkit-scrollbar {
        display: none;
    }

    .projection-nav-tab {
        flex-shrink: 0;
        white-space: nowrap;
        padding: 8px 18px;
        height: 32px;
        font-size: 12px;
    }

    .projection-nav-tab span {
        font-size: 12px;
    }

    .scenarios-header, .scenarios-controls{
        flex-direction: column;
        gap: 20px;
    }

    .scenarios-multipliers{
        padding-left: 0;
        border-left: none;
        margin-left: 0;
        text-align: center;
    }

    .scenario-buttons button{
        padding: 0 15px;
    }

    .financial-metrics-grid{
        flex-direction: column;
        gap: 15px;
    }

    .metric-card{
        width: 100%;
    }

    .charts-grid, .investments-layout{
        flex-direction: column;
    }

    .chart-card, .investments-list-card, .investments-total-distribution-container{
        width: 100%;
    }

    .investments-table, .income-statement-table-container, .cashflow-table-container {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .investments-table td,
    .investments-table th, 
    .income-statement-table-container td, 
    .income-statement-table-container th,
    .cashflow-table-container td,
    .cashflow-table-container th {
        white-space: nowrap;
        min-width: 120px;
    }

    .export-csv-btn span{
        display: none;
    }

    .balance-sheet-cards{
        flex-direction: column;
    }

    .balance-sheet-card{
        width: 100%;
    }

    .projection-financiere-page {
        padding: 0 !important;
    }

    .projection-financiere-page .projects-page  {
        padding: 0;
    }

    .projection-financiere-page .module-main-content {
        padding: 0;
    }

    .projection-financiere-container{
        padding: 20px;
        height: calc(100vh - 274.5px);
        overflow: scroll;
    }

    .tab-content{
        margin-top: 0;
    }

    .bp-height{
        width: calc(100% - 40px) !important;
        padding-top: 20px;
        height: calc(100vh - 70px - 56px - 80px - 100px) !important;
    }

    .business-plan-config-form{
        height: calc(100% - 80px - 70px);
    }

    .business-plan-nav-block {
        height: 94px !important;
        padding: 0 20px;
    }

    .business-plan-nav-button.business-plan-nav-button-next{
        padding: 16px 20px;
    }

    .business-plan-nav-button.business-plan-nav-button-next span, .business-plan-nav-button.business-plan-nav-button-previous span{
        display: none;
    }

    .bp-generation-loader{
        padding: 50px 3%;
        margin: 20px;
    }
}
/* ===== Loader pour la génération ===== */

.business-plan-content{
    background: none !important;
    margin: 0 !important;
    height: calc(100vh - 90px) !important;
}

.bp-generation-loader {
    border-radius: 16px;
    border: 1px solid #E6EAF0;
    background: #FFF;
    padding: 98px 20%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    text-align: center;
    margin-top: 30px;
    margin: 30px;
}

.bp-generation-loader .simple-loader-title {
    color: #223245;
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.bp-loader-progress {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 360px;
}

.bp-loader-progress-bar {
    flex: 1;
    height: 11px;
    background: #F6F7F8;
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    overflow: hidden;
}

.bp-loader-progress-fill {
    height: 100%;
    background: #0A58A5;
    border-radius: 20px;
    transition: width 0.4s ease;
}

.bp-loader-percentage {
    font-size: 14px;
    font-weight: 600;
    color: #0A58A5;
    min-width: 40px;
    font-family: "Open Sans", sans-serif;
}

.business-plan-step-title{
    color: var(--Color1, #223245);
    font-size: 16px;
    font-weight: 700;
    line-height: 14px;
}

/* Radio Group Styles */
.business-plan-radio-group {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-top: 30px;
}

.business-plan-radio-option {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 30px 16px;
    cursor: pointer;
    transition: all 0.2s ease;
    border-radius: 15px;
border: 1px solid var(--stroke-1, #DFE5EC);
}

.business-plan-radio-option input[type="radio"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
    accent-color: #0A58A5;
    margin-top: 2px;
    flex-shrink: 0;
    display: none;
}


.business-plan-radio-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    justify-content: center;
    align-items: center;
}

.business-plan-radio-title{
    color: var(--Color1, #223245);
    text-align: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 14px; /* 70% */
}

.business-plan-radio-description{
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    margin-top: 10px;
    text-align: center;
}

/* Checkbox Group Styles */
.business-plan-checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 8px;
}

.business-plan-checkbox-option {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    border: 2px solid #DFE5EC;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    background-color: #FFFFFF;
    width: 100%;
}

.business-plan-checkbox-option:hover {
    border-color: #0A58A5;
    background-color: #F0F7FF;
}

.business-plan-checkbox-option input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
    accent-color: #0A58A5;
    margin-top: 2px;
    flex-shrink: 0;
}


.business-plan-checkbox-option input[type="checkbox"]:checked + .business-plan-checkbox-label {
    color: #0A58A5;
    font-weight: 600;
}

.business-plan-checkbox-option:has(input[type="checkbox"]:checked) {
    border-color: #0A58A5;
    background-color: #F0F7FF;
}

.business-plan-checkbox-label {
    font-size: 14px;
    font-weight: 600;
    color: #223245;
    font-family: "Open Sans", sans-serif;
    line-height: 1.5;
    display: block;
    margin-bottom: 4px;
}

.business-plan-checkbox-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.business-plan-field{
    width: 100%;
    margin: 0;
}

.business-plan-field-description, .business-plan-step-description, .business-plan-checkbox-description{
    color: var(--Color2, #6E7F93);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    margin: 15px 0;
}

.projects-page.business-plan-page {
    padding: 0 !important;
    height: calc(100vh - 200px);
}

section.business-plan-content, .business-plan-step {
    height: 100%;
}

.business-plan-nav-block{
    height: 100px;
    border-top: 1px solid var(--stroke-1, #DFE5EC);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 30px;
}

.business-plan-config-form {
    width: 100%;
}

.business-plan-field{
    margin: 0 auto;
}

.business-plan-nav-button.business-plan-nav-button-next{
    border-radius: 15px;
    background: var(--Color-2, #0A58A5);
    height: 44px;
    padding: 16px 40px ;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 12px; 
}

.business-plan-nav-button.business-plan-nav-button-next:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.bp-height{
    height: calc(100vh - 183px);
    width: 80%;
    margin: 0 auto;
    padding-top: 30px;
    overflow: scroll;
    padding-bottom: 30px;
}

.business-plan-radio-option:has(input:checked) {
    border-radius: 15px;
    border: 1px solid var(--Color-2, #0A58A5);
    background: rgba(10, 88, 165, 0.06);
}

.business-plan-nav-button.business-plan-nav-button-previous{
    border-radius: 15px;
    background: #FFF;
    height: 44px;
    padding: 16px 40px ;
    border: 1px solid var(--stroke-1, #DFE5EC);
    display: flex;

    align-items: center;
    justify-content: center;
    gap: 30px;
    color: #6E7F93  ;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 12px; 
}

.business-plan-field{
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 15px;
}

.business-plan-field-label{
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--Color1, #223245);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 12px; /* 85.714% */
}

.business-plan-field-label span{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 14px; /* 87.5% */
}


form .business-plan-field-label{
    color: var(--Color1, #223245);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 12px; /* 85.714% */
}

.business-plan-input{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 44px;
    padding: 1rem;
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 12px; /* 85.714% */
    color: #223245;
    resize: none;
    overflow: auto;
    width: 100%;
}

.business-plan-textarea{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 100px;
    padding: 1rem;
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 23px; /* 85.714% */
    color: #223245;
    resize: none;
    overflow: auto;
    width: 100%;
}

.business-plan-team-member-card{
    margin-top: 30px;
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 20px;
}

.business-plan-team-member-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.business-plan-step-description{
    margin-bottom: 30px;
}

.business-plan-team-member-title{
    color: var(--Color1, #223245);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 12px; /* 75% */
}

.business-plan-remove-member-button{
    border: none
}

.business-plan-add-member-button{
    width: 100%;
    margin-top: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 44px;
}

.business-plan-add-member-button span{
    color: var(--Color-2, #0A58A5);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 12px; /* 85.714% */
}

.business-plan-select{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    padding: 1rem;
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 12px; /* 85.714% */
    color: #223245;
    width: 100%;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 16px;
}

.business-plan-document-upload{
    display: flex;
    flex-direction: column;
    gap: 10px;
}


.business-plan-document-upload {
    padding: 16px;
    background-color: #F8F9FA;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    margin-top: 15px;
    margin-bottom: 30px;
}

.business-plan-file-input {
    width: 100%;
    padding: 8px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    border: 1px solid #DFE5EC;
    border-radius: 4px;
    background-color: #FFFFFF;
    cursor: pointer;
    margin-top: 8px;
}

.business-plan-file-input:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.business-plan-file-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}

.business-plan-file-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
    border-radius: 8px;
    border: 1px solid #DFE5EC;
    background: #F6F7F8;
    width: fit-content;
    gap: 10px;
}

.business-plan-file-remove{
    border: none;
}

.business-plan-sections-nav{
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.business-plan-sections-nav a{
    display: flex;
    align-items: center;
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    padding: 12px;
    color: #6A7282;
    gap: 12px;
}

.business-plan-sections-nav a span{
    font-size: 14px;
}

.business-plan-sections-nav a.active{
    border-radius: 10px;
    border: 1px solid var(--Color-2, #0A58A5);
    background: rgba(10, 88, 165, 0.06);
    color: #0A58A5;
}

.business-plan-section-number{
    background-color: #F6F7F8;
    width: 25px;
    height: 25px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

.business-plan-sections-nav a.active .business-plan-section-number{
    background-color: #0A58A5;
    color: #fff;
}

.business-plan-cover-container{
    background-color: #fff;
}

.bp-page{
    width: 595px;
    margin: 0 auto;
    /* gr1 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    border: 1px solid var(--stroke-1, #DFE5EC);
    border-radius: 15px;
    background: #FFF;
    
}

.bp-scroll{
    min-height: 842px;
    padding: 50px;
}

.cover-page{
    background: var(--Color1, #223245);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 50px;
    height: 842px;
}

.cover-page .bp-title{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 10px; /* 50% */
}

.cover-page .cover-body{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cover-page .cover-body p{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 50px; /* 125% */
}

.cover-page .cover-body .cover-date{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 10px; /* 71.429% */
}

.cover-footer{
    display: flex;
    align-items: start;
    justify-content: space-between;
}

.cover-footer .cover-footer-left{
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.cover-footer .cover-footer-left div{
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cover-footer .cover-footer-left div span, .elite span{
    color: rgba(255, 255, 255, 0.30);
    font-family: "Open Sans";
    font-size: 9px;
    font-style: normal;
    font-weight: 500;
    line-height: 10px; /* 111.111% */
}

.cover-footer .cover-footer-left div h2, .elite h2{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 10px; /* 83.333% */
}

.business-plan-container{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.bp-page h1{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 12px; /* 50% */
}

.ordonned-list{
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    margin-left: 1rem;
}

.ordonned-list li{
    color: var(--Color0, #445972);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 12px; /* 85.714% */
    padding: 20px 0;
    border-bottom: 1px solid var(--stroke-1, #DFE5EC);
}

.ordonned-list li:last-child{
    border-bottom: none;
}

.bp-disclaimer{
    border-radius: 10px;
    background: rgba(10, 88, 165, 0.06);
    padding: 15px 17px;
    margin-top: 20px;
}

.bp-disclaimer h2{
    color: var(--Color-2, #0A58A5);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 12px; /* 100% */
}

.bp-disclaimer p{
    color: var(--Color-2, #0A58A5);
    font-family: "Open Sans";
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 160% */
    margin-top: 10px;
}

.bp-text-bloc{
    margin-bottom: 10px;
}

.bp-text-bloc h2{
    color: var(--Color-2, #0A58A5);
    font-family: "Open Sans";
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    text-transform: uppercase;
}

.bp-text-bloc p, .verdict p{
    color: var(--Color1, #223245);
    text-align: justify;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 166.667% */
}

.verdict{
    border-radius: 10px;
    background: rgba(89, 178, 36, 0.07);
    padding: 16px 18px;
    margin-bottom: 10px;
}

.verdict h2{
    color: var(--Color-2, #0A58A5);
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px; /* 163.636% */
}

.bp-content{
    margin-top: 1rem;
}

.resume-cards{
    margin-top: 10px;
    display: flex;
    align-items: stretch;
    gap: 17px;
    margin-bottom: 10px;
}

.resume-cards .card{
    width: 33%;
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    justify-content: space-between;
}

h2.subtitle{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 133.333% */
    text-transform: capitalize;
}

.resume-cards .card h2{
    color: #6A7282;
    font-family: "Open Sans";
    font-size: 10px;
    font-style: normal;
    font-weight: 500;
    line-height: 16px; /* 160% */
    text-transform: uppercase;
}

.resume-cards .card h1{
    -webkit-text-stroke-width: 0.5px;
    -webkit-text-stroke-color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 800;
    line-height: 24px; /* 100% */
    background: var(--fr, linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.resume-cards .card span{
    color: #99A1AF;
    font-family: "Open Sans";
    font-size: 9px;
    font-style: italic;
    font-weight: 400;
    line-height: 15px; /* 166.667% */
}

/* ── Bar Chart (vertical) ── */
.bp-competitive-chart-wrapper{
    margin-top: 12px;
    border-radius: 10px;
    border: 1px solid #E5E7EB;
    background: #F6F7F8;
    padding: 15px;
}

.bp-competitive-chart-wrapper canvas{
    width: 100% !important;
}

.bp-bar-chart{
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bp-bar-chart-legend{
    display: flex;
    align-items: center;
    gap: 16px;
    justify-content: center;
}

.bp-legend-item{
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: "Open Sans";
    font-size: 10px;
    font-weight: 500;
    color: #6A7282;
}

.bp-legend-dot{
    width: 10px;
    height: 10px;
    border-radius: 3px;
    display: inline-block;
}

.bp-legend-nous{ background: #8EC5FF; }
.bp-legend-concurrent{ background: #BFDBFE; }

.bp-bar-groups{
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 30px;
    height: 180px;
    padding: 0 10px;
    border-bottom: 1px solid #DFE5EC;
}

.bp-bar-group{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex: 1;
    height: 100%;
}

.bp-bars{
    display: flex;
    align-items: flex-end;
    gap: 5px;
    flex: 1;
    width: 100%;
    justify-content: center;
}

.bp-bar{
    width: 28px;
    border-radius: 4px 4px 0 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 5px;
    transition: height 0.4s ease;
}

.bp-bar span{
    font-family: "Open Sans";
    font-size: 9px;
    font-weight: 700;
    color: #fff;
}

.bp-bar-label{
    color: #6B7280;
    text-align: center;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding-bottom: 10px;
}

.bp-bar-nous{ background: #8EC5FF; }
.bp-bar-concurrent{ background: #BFDBFE; }

/* ── Pie Chart ── */
.bp-pie-chart-wrapper{
    display: flex;
    align-items: center;
    gap: 30px;
    margin-top: 12px;
}

.bp-pie-chart{
    width: 150px;
    height: 150px;
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
}

.bp-pie-hole{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: #fff;
}

.bp-pie-legend{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bp-pie-legend-item{
    display: flex;
    align-items: center;
    gap: 8px;
}

.bp-pie-dot{
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.bp-pie-legend-label, .bp-pie-legend-value{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 34px; /* 242.857% */
}

/* ===== Diagramme en barres horizontales ===== */
.bp-hbar-chart {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 10px 0;
}

.bp-hbar-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.bp-hbar-label {
    font-family: "Open Sans", sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #223245;
    min-width: 70px;
}

.bp-hbar-track {
    flex: 1;
    height: 28px;
    background: #F1F5F9;
    border-radius: 6px;
    overflow: hidden;
}

.bp-hbar-fill {
    height: 100%;
    border-radius: 6px;
    transition: width 0.5s ease;
}

.bp-hbar-fill-1 {
    background: #BFDBFE;
}

.bp-hbar-fill-2 {
    background: #8EC5FF;
}

.bp-hbar-fill-3 {
    background: #0A58A5;
}

.bp-hbar-value {
    font-family: "Open Sans", sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #0A58A5;
    min-width: 160px;
    text-align: right;
}

/* ===== Diagramme de Gantt ===== */
.bp-gantt {
    width: 100%;
    overflow-x: auto;
}

.bp-gantt-header,
.bp-gantt-row {
    display: flex;
    align-items: center;
    gap: 0;
}

.bp-gantt-header {
    border-bottom: 1px solid #DFE5EC;
    padding-bottom: 8px;
    margin-bottom: 4px;
}

.bp-gantt-task-label {
    min-width: 160px;
    max-width: 160px;
    font-family: "Open Sans", sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #223245;
    padding: 8px 12px 8px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.module-page[data-business-plan-mode-value="edit"] .bp-gantt-task-label {
    min-width: 240px;
    max-width: 240px;
    overflow: visible;
    display: flex;
    align-items: center;
    font-size: 14px;
}

.bp-gantt-header .bp-gantt-task-label {
    font-weight: 400;
    color: transparent;
}

.bp-gantt-months {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 2px;
    position: relative;
    min-height: 28px;
    align-items: center;
}

.bp-gantt-header .bp-gantt-months {
    min-height: auto;
}

.bp-gantt-header .bp-gantt-months span {
    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #6E7F93;
    text-align: center;
}

.bp-gantt-row {
    border-bottom: 1px solid #F1F5F9;
}

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

.bp-gantt-bar {
    height: 24px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.bp-gantt-bar-dates {
    font-family: "Open Sans", sans-serif;
    font-size: 9px;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    padding: 0 4px;
    line-height: 24px;
}

.bp-gantt-bar-1 {
    background: #0A58A5;
}

.bp-gantt-bar-2 {
    background: #8EC5FF;
}

.bp-gantt-bar-2 .bp-gantt-bar-dates {
    color: #223245;
}

.bp-gantt-bar-3 {
    background: #BFDBFE;
}

.bp-gantt-bar-3 .bp-gantt-bar-dates {
    color: #223245;
}

/* ===== Graphique en ligne (Trajectoire) ===== */
.bp-line-chart {
    display: flex;
    gap: 8px;
    padding: 10px 0;
}

.bp-line-chart-y-axis {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 40px;
    text-align: right;
    padding-right: 8px;
}

.bp-line-chart-y-axis span {
    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    color: #6E7F93;
    line-height: 1;
}

.bp-line-chart-area {
    flex: 1;
    position: relative;
    height: 220px;
}

.bp-line-chart-grid {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.bp-line-chart-grid-line {
    height: 1px;
    background: #F1F5F9;
}

.bp-line-chart-zero {
    background: #DFE5EC;
}

.bp-line-chart-svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 30px);
}

.bp-line-nous {
    fill: none;
    stroke: #0A58A5;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.bp-line-c1 {
    fill: none;
    stroke: #2D7DD2;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.bp-line-c2 {
    fill: none;
    stroke: #8EC5FF;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.bp-line-c3 {
    fill: none;
    stroke: #BFDBFE;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.bp-line-chart-dots {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 30px);
}

.bp-line-dot {
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    transform: translate(-50%, 50%);
}

.bp-line-dots-nous .bp-line-dot {
    background: #0A58A5;
}

.bp-line-dots-concurrents .bp-line-dot {
    background: #BFDBFE;
}

.bp-line-dot span {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    font-family: "Open Sans", sans-serif;
    font-size: 10px;
    font-weight: 600;
    color: #223245;
    white-space: nowrap;
}

.bp-line-chart-x-axis {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    height: 30px;
    align-items: flex-end;
}

.bp-line-chart-x-axis span {
    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: #6E7F93;
}

.bp-line-legend {
    display: flex;
    gap: 20px;
    justify-content: center;
    padding-top: 8px;
}

.bp-line-legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.bp-line-legend-line {
    width: 20px;
    height: 3px;
    border-radius: 2px;
}

.bp-line-legend-item span {
    font-family: "Open Sans", sans-serif;
    font-size: 12px;
    color: #445972;
}

/* ===== Indicateurs Clés du Marché (pie + table) ===== */
.bp-market-indicators {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 30px;
    padding: 10px 0;
}

.bp-market-pie {
    position: relative;
    flex-shrink: 0;
}

.bp-market-pie .bp-pie-chart {
    width: 160px;
    height: 160px;
}

.bp-market-pie .bp-pie-hole {
    width: 80px;
    height: 80px;
}

.bp-market-table {
    flex: 1;
    overflow-x: auto;
}

.bp-market-table .bp-pie-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin: 0 auto;
}

.bp-empty-content{
    color: #99A1AF;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: italic;
    font-weight: 400;
    line-height: 20px;
    padding: 12px 0;
}

.bp-table{
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
    font-family: "Open Sans";
    font-size: 12px;
}

.bp-table thead th{
    padding: 10px 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    color: var(--Color-3, #B5C1D0);
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.312px;
}

.bp-table thead th:first-child{
    border-radius: 6px 0 0 0;
}

.bp-table thead th:last-child{
    border-radius: 0 6px 0 0;
}

.bp-table tbody td{
    padding: 8px 12px;
    border: 1px solid #DFE5EC;
    color: var(--Color1, #223245);
    font-weight: 400;
}

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

.bp-text-bloc ul{
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style-type: none;
}

.bp-text-bloc ul li{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
}

.bp-text-bloc ul li span{
    font-weight: 700;
}

.bp-teams{
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bp-team{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    padding: 13px 15px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.bp-team-infos{
    width: 40%;
    border-right: 1px solid #DFE5EC;
    padding-right: 15px;
    display: flex;
    align-items: start;
    gap: 10px;
}

.bp-team-infos h1{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 14px; /* 116.667% */
}

.bp-team-infos span{
    color: var(--Color0, #445972);
    font-family: "Open Sans";
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 12px; /* 120% */
    margin-top: 5px;
}

.bp-team p{
    width: 60%;
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 11px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 145.455% */
}

.tamsamsom{
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 20px;
}

.tamsamsom .left, .tamsamsom .right{
    width: 50%;
}

.tamsamsom .tam{
    height: 190px;
    background-color: #E0F2FE;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 190px;
    border: 1px solid #B5C1D0;
}

.tamsamsom .sam{
    width: 124px;
    background-color: #B5C1D0;
    height: 124px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tamsamsom .som{
    width: 67.2px;
    height: 67.2px;
    background-color: #445972;
    border-radius: 100%;
}

.bp-segs{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bp-seg{
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.bp-seg h2{
    color: var(--Color0, #445972);
    font-family: "Open Sans";
    font-size: 9px;
    font-style: normal;
    font-weight: 700;
    line-height: 14px; /* 155.556% */
}

.bp-seg h1{
    -webkit-text-stroke-width: 0.5px;
    -webkit-text-stroke-color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 80% */
    background: var(--fr, linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.bp-seg p{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 8px;
    font-style: normal;
    font-weight: 500;
    line-height: 14px; /* 175% */
}

.bp-table{
    border-bottom: 1px solid var(--stroke-1, #DFE5EC);
}

.bp-table table{
    border-collapse: collapse;
}

.bp-table-title{
    color: var(--Color-3, #B5C1D0);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 133.333% */
    letter-spacing: 0.6px;
    text-transform: uppercase;
    border: 1px solid var(--stroke-1, #DFE5EC);
    border-bottom: none;
    background: #F6F7F8;
    padding: 10px 15px;
}

.bp-table table tr td{
    color: var(--Color-3, #B5C1D0);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.312px;
}

.nd{
    margin-top: 10px;
}

.bp-text-bloc p span{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
}

.bp-swot-disclaimer{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 11px;
    font-style: italic;
    font-weight: 400;
    line-height: 18px; /* 163.636% */
    border-radius: 10px;
    background: #F6F7F8;
    padding: 18px 30px;
    margin: 10px 0;
}

.swot-item-text{
    color: var(--Color1, #223245) !important;
    font-family: "Open Sans";
    font-size: 12px !important;
    font-style: normal;
    font-weight: 400 !important;
    line-height: 18px; /* 150% */
}

.bp-text-bloc .swot-list{
    list-style-type: disc;
}

.bp-product{
    margin-top: 10px;
    display: flex;
    gap: 15px;
    align-items: stretch;
}

.bp-product img{
    width: 50%;
    height: 140px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
}

.bp-product-text{
    width: 50%;
    display: flex;
    flex-direction: column;
}

.bp-product-text h3{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 166.667% */
}

.bp-product-text span{
    color: var(--Color0, #445972);
    font-family: "Open Sans";
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 18px;
}

.bp-details{
    display: flex;
    align-items: start;
    gap: 15px;
    margin-top: 15px;
}

.bp-detail{
    width: 33%;
}

.bp-detail .bp-product-text{
    width: 100%;
}

.bp-text-bloc ol{
    margin-left: 1rem;
}

.bp-equipes{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    margin-top: 10px;
}

.bp-equipe{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    padding: 13px 15px;
}

.bp-ekip-header{
    display: flex;
    align-items: center;
    gap: 10px;
}

.bp-ekip-header h4{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 14px; /* 116.667% */
}

.bp-ekip-header span{
    color: var(--Color0, #445972);
    font-family: "Open Sans";
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 12px; /* 120% */
}

.bp-ekip-initials{
    background-color: #0A58A5;
    width: 35px;
    height: 35px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
    flex-shrink: 0;
}

.bp-team-avatar,
.bp-ekip-avatar{
    width: 35px;
    height: 35px;
    border-radius: 100%;
    object-fit: cover;
    flex-shrink: 0;
}

.bp-member-photo-upload{
    width: 80px;
    height: 80px;
    border-radius: 100%;
    border: 2px dashed #DFE5EC;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s;
    margin: 0 auto;
}

.bp-member-photo-upload:hover{
    border-color: #0A58A5;
}

.bp-member-photo-preview{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.bp-member-photo-preview img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 100%;
}

.bp-member-photo-remove{
    position: absolute;
    top: -2px;
    right: -2px;
    width: 22px;
    height: 22px;
    border-radius: 100%;
    background: #EF4444;
    color: white;
    border: 2px solid white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    z-index: 2;
}

.bp-member-photo-remove:hover{
    background: #DC2626;
}

.bp-member-photo-placeholder{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    color: #9CA3AF;
}

.bp-member-photo-placeholder svg{
    color: #9CA3AF;
}

.bp-member-photo-placeholder span{
    font-size: 8px;
    text-align: center;
    line-height: 1.2;
}

/* ── Modal Image Upload (Produits) ── */
.bp-modal-image-upload{
    width: 100%;
    height: 120px;
    border-radius: 10px;
    border: 2px dashed #DFE5EC;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s;
    background: #F9FAFB;
}

.bp-modal-image-upload:hover{
    border-color: #0A58A5;
}

.bp-modal-image-preview{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.bp-modal-image-preview img{
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 8px;
}

.bp-modal-image-remove{
    position: absolute;
    top: 6px;
    right: 6px;
    width: 24px;
    height: 24px;
    border-radius: 100%;
    background: #EF4444;
    color: white;
    border: 2px solid white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    z-index: 2;
}

.bp-modal-image-remove:hover{
    background: #DC2626;
}

.bp-modal-image-placeholder{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #9CA3AF;
}

.bp-modal-image-placeholder svg{
    color: #9CA3AF;
}

.bp-modal-image-placeholder span{
    font-size: 12px;
    font-family: "Open Sans";
    color: #6B7280;
}

.bp-equipe p{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 11px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 145.455% */
    margin-top: 10px;
}

.bp-risks{
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bp-risk-mitigation {
    margin-top: 4px;
    padding: 8px 12px;
    background-color: #F0FDF4;
    border-left: 3px solid #22C55E;
    border-radius: 0 6px 6px 0;
    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    color: #166534;
}

.bp-footer{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    text-align: center;
    color: var(--Color-3, #B5C1D0);
    font-family: "Open Sans";
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
    padding: 20px;
}

.bp-contact-info{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: rgba(10, 88, 165, 0.06);
    padding: 20px;
    margin-top: 10px;
}

/* ===== Toast notifications ===== */
.bp-toast-container{
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 9999;
    display: flex;
    flex-direction: column-reverse;
    gap: 10px;
    pointer-events: none;
}

.bp-toast{
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    border-left: 4px solid #6B7280;
    font-size: 14px;
    font-weight: 500;
    color: #1F2937;
    pointer-events: auto;
    transform: translateY(20px);
    opacity: 0;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
    max-width: 400px;
}

.bp-toast.visible{
    transform: translateY(0);
    opacity: 1;
}

.bp-toast.success{
    border-left-color: #10B981;
}

.bp-toast.success i{
    color: #10B981;
    font-size: 18px;
}

.bp-toast.error{
    border-left-color: #EF4444;
}

.bp-toast.error i{
    color: #EF4444;
    font-size: 18px;
}

.bp-toast.loading{
    border-left-color: #0A58A5;
}

.bp-toast.info{
    border-left-color: #0A58A5;
}

.bp-toast.info i{
    color: #0A58A5;
    font-size: 18px;
}

.bp-toast-spinner{
    width: 18px;
    height: 18px;
    border: 2.5px solid #E5E7EB;
    border-top-color: #0A58A5;
    border-radius: 50%;
    animation: bp-toast-spin 0.7s linear infinite;
    flex-shrink: 0;
}

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

/* ===== Export modal ===== */
.bp-export-modal-overlay{
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.5);
    backdrop-filter: blur(4px);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.bp-export-modal-overlay.visible{
    opacity: 1;
    pointer-events: auto;
}

.bp-export-modal{
    background: #fff;
    border-radius: 20px;
    padding: 48px 40px 40px;
    width: 400px;
    max-width: 90vw;
    text-align: center;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
    transform: scale(0.9) translateY(20px);
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.bp-export-modal-overlay.visible .bp-export-modal{
    transform: scale(1) translateY(0);
}

.bp-export-modal-icon{
    position: relative;
    width: 72px;
    height: 72px;
    margin: 0 auto 24px;
}

.bp-export-modal-spinner{
    position: absolute;
    inset: 0;
    width: 72px;
    height: 72px;
    animation: bp-modal-spin 1.2s linear infinite;
}

.bp-export-modal-spinner circle{
    stroke: #0A58A5;
    stroke-dasharray: 90 150;
    stroke-dashoffset: 0;
}

.bp-export-modal-overlay.success .bp-export-modal-spinner circle{
    stroke: #10B981;
}

.bp-export-modal-overlay.error .bp-export-modal-spinner circle{
    stroke: #EF4444;
}

.bp-export-modal-overlay.success .bp-export-modal-spinner,
.bp-export-modal-overlay.error .bp-export-modal-spinner{
    animation: none;
}

.bp-export-modal-overlay.success .bp-export-modal-spinner circle,
.bp-export-modal-overlay.error .bp-export-modal-spinner circle{
    stroke-dasharray: 126 126;
    stroke-dashoffset: 0;
    transition: stroke-dasharray 0.4s ease, stroke 0.3s ease;
}

.bp-export-modal-icon i{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    color: #0A58A5;
    transition: color 0.3s ease;
}

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

.bp-export-modal h2{
    font-size: 20px;
    font-weight: 700;
    color: #1F2937;
    margin: 0 0 6px;
    transition: color 0.3s ease;
}

.bp-export-modal p{
    font-size: 14px;
    color: #6B7280;
    margin: 0 0 32px;
}

.bp-export-modal-steps{
    display: flex;
    flex-direction: column;
    gap: 14px;
    text-align: left;
}

.bp-export-step{
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    color: #9CA3AF;
    transition: color 0.3s ease;
}

.bp-export-step.active{
    color: #0A58A5;
    font-weight: 600;
}

.bp-export-step.done{
    color: #10B981;
}

.bp-export-step-dot{
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid #E5E7EB;
    position: relative;
    flex-shrink: 0;
    transition: border-color 0.3s ease, background 0.3s ease;
}

.bp-export-step.active .bp-export-step-dot{
    border-color: #0A58A5;
    background: #EFF6FF;
}

.bp-export-step.active .bp-export-step-dot::after{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    background: #0A58A5;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: bp-step-pulse 1.2s ease-in-out infinite;
}

@keyframes bp-step-pulse{
    0%, 100%{ opacity: 1; transform: translate(-50%, -50%) scale(1); }
    50%{ opacity: 0.5; transform: translate(-50%, -50%) scale(0.7); }
}

.bp-export-step.done .bp-export-step-dot{
    border-color: #10B981;
    background: #10B981;
}

.bp-export-step.done .bp-export-step-dot::after{
    content: '\f00c';
    font-family: 'Font Awesome 6 Free', 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 10px;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: none;
}

/* ===== Mode switching (Édition / Aperçu) ===== */
.module-page[data-business-plan-mode-value="edit"] .editable-text {
    cursor: pointer;
}
.module-page[data-business-plan-mode-value="edit"] .editable-text:hover:not(.editing) {
    background-color: #F8F9FA;
    box-shadow: 0 0 0 1px #0A58A5;
}

.module-page[data-business-plan-mode-value="edit"] .bp-section-title,
.module-page[data-business-plan-mode-value="edit"] .bp-subtitle {
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.15s;
}
.module-page[data-business-plan-mode-value="edit"] .bp-section-title:hover:not(.editing),
.module-page[data-business-plan-mode-value="edit"] .bp-subtitle:hover:not(.editing) {
    background-color: #F8F9FA;
    box-shadow: 0 0 0 1px #0A58A5;
}
.module-page[data-business-plan-mode-value="preview"] .bp-section-title,
.module-page[data-business-plan-mode-value="preview"] .bp-subtitle {
    cursor: default;
}

.module-page[data-business-plan-mode-value="edit"] .bp-page {
    margin: 0;
    width: 100%;
    height: fit-content;
}

.module-page[data-business-plan-mode-value="edit"] .bp-page.cover-page {
    width: 75%;
    height: 842px;
}

.module-page[data-business-plan-mode-value="preview"] .editable-text {
    cursor: default;
}

.module-page[data-business-plan-mode-value="preview"] .edit-mode-only {
    display: none !important;
}

.bp-detail img{
    width: 100%;
    height: 100px;
    border-radius: 8px;
    object-fit: cover;
}

/* ===== Cover color picker ===== */
.bp-cover-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    justify-content: space-between;
    width: 100%;
}

.module-page[data-business-plan-mode-value="edit"] .bp-cover-wrapper {
    width: calc(100% - 110px);
}

.bp-cover-wrapper .bp-page {
    flex-shrink: 0;
}

.bp-cover-color-picker {
    background: #fff;
    border: 1px solid #DFE5EC;
    border-radius: 12px;
    padding: 20px;
    width: 30%;
    flex-shrink: 0;
}

.bp-cover-color-picker h3 {
    color: #223245;
    font-family: "Open Sans", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 18px;
    margin: 0 0 16px;
}

.bp-cover-color-options {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.bp-cover-color-option {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    border: 2px solid transparent;
    padding: 3px;
    cursor: pointer;
    background: none;
    transition: border-color 0.2s ease;
}

.bp-cover-color-option:hover {
    border-color: #B5C1D0;
}

.bp-cover-color-option.active {
    border-color: #0A58A5;
}

.bp-cover-color-swatch {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 7px;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

/* ===== Card edit button ===== */
.bp-text-bloc li .bp-edit-metric-btn {
    display: inline-flex;
    vertical-align: middle;
    margin-left: 8px;
}

.bp-ekip-header .bp-edit-metric-btn,
.bp-team-infos .bp-edit-metric-btn {
    margin-left: auto;
    flex-shrink: 0;
}

.bp-seg-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.card-header-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.bp-edit-metric-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    background-color: transparent;
    border: 1px solid #DFE5EC;
    border-radius: 6px;
    color: #6E7F93;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.bp-edit-metric-btn:hover {
    background-color: #F8F9FA;
    border-color: #0A58A5;
    color: #0A58A5;
}

/* ===== Segments de clientèle ===== */
.bp-segment-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #F0F2F5;
}

.bp-segment-item:last-child {
    border-bottom: none;
}

.bp-segment-item.nd {
    margin-top: 0;
}

.bp-segment-item p {
    flex: 1;
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #223245;
}

.bp-segment-item p span {
    font-weight: 700;
}

.bp-segment-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.bp-delete-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    background-color: transparent;
    border: 1px solid #DFE5EC;
    border-radius: 6px;
    color: #6E7F93;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.bp-delete-btn:hover {
    background-color: #FEF2F2;
    border-color: #DC3545;
    color: #DC3545;
}

.bp-add-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    padding: 8px 16px;
    background-color: transparent;
    border: 1px dashed #0A58A5;
    border-radius: 8px;
    color: #0A58A5;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
    margin-bottom: 20px;
}

.bp-add-btn:hover {
    background-color: #E8F0FE;
}

.bp-empty-content {
    color: #6E7F93;
    font-style: italic;
    font-size: 14px;
    padding: 10px 0;
}

/* ===== Opportunités / Menaces row ===== */
.bp-opp-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.bp-contact-info span{
    font-weight: 400 !important;
}

.bp-opp-row.nd {
    margin-top: 10px;
}

.bp-opp-row p {
    flex: 1;
    margin: 0;
}

.bp-opp-row .bp-edit-metric-btn {
    margin-top: 2px;
    flex-shrink: 0;
}

/* ===== Edit buttons dans les listes et produits ===== */
.bp-text-bloc ol li,
.bp-text-bloc ul li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.bp-text-bloc ol li .bp-edit-metric-btn,
.bp-text-bloc ul li .bp-edit-metric-btn {
    margin-top: 3px;
    flex-shrink: 0;
}

.bp-product,
.bp-detail {
    position: relative;
}

.bp-product > .bp-edit-metric-btn,
.bp-detail > .bp-edit-metric-btn {
    position: absolute;
    top: 12px;
    right: 12px;
}

.risk .bp-opp-row {
    margin-bottom: 4px;
}

.risk .bp-opp-row h2 {
    flex: 1;
}

/* ===== Table actions (edit/delete dans les tableaux) ===== */
.bp-table-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.bp-table th.edit-mode-only,
.bp-table td.bp-table-actions {
    text-align: center;
}

/* Light cover text color override */
.cover-page.cover-page-light,
.cover-page.cover-page-light .bp-title,
.cover-page.cover-page-light .cover-body p,
.cover-page.cover-page-light .cover-body .cover-date,
.cover-page.cover-page-light .cover-footer .cover-footer-left div span,
.cover-page.cover-page-light .cover-footer .cover-footer-left div h2,
.cover-page.cover-page-light .elite span,
.cover-page.cover-page-light .elite h2 {
    color: #223245;
}

/* ===== Distribution Channels: item actions & add button ===== */
.bp-item-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: 8px;
    flex-shrink: 0;
}

.bp-delete-item-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    background-color: transparent;
    border: 1px solid #DFE5EC;
    border-radius: 6px;
    color: #6E7F93;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.bp-delete-item-btn:hover {
    background-color: #FEF2F2;
    border-color: #DC3545;
    color: #DC3545;
}

.bp-add-list-item-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    padding: 8px 16px;
    background-color: transparent;
    border: 1px dashed #0A58A5;
    border-radius: 8px;
    color: #0A58A5;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
    margin-bottom: 20px;
}

.bp-add-list-item-btn:hover {
    background-color: #E8F0FE;
}

/* Gantt row action buttons */
.bp-gantt-task-label {
    position: relative;
}

.bp-gantt-actions {
    display: inline-flex;
    margin-left: 6px;
    vertical-align: middle;
}

/* ===== Edit mode: +2px on all document font-sizes ===== */
.module-page[data-business-plan-mode-value="edit"] .bp-page h1 { font-size: 23px; }
.module-page[data-business-plan-mode-value="edit"] .bp-text-bloc h2 { font-size: 13px; }
.module-page[data-business-plan-mode-value="edit"] .bp-text-bloc p,
.module-page[data-business-plan-mode-value="edit"] .verdict p { font-size: 14px; }
.module-page[data-business-plan-mode-value="edit"] .verdict h2 { font-size: 13px; }
.module-page[data-business-plan-mode-value="edit"] h2.subtitle { font-size: 14px; }
.module-page[data-business-plan-mode-value="edit"] .bp-text-bloc p span { font-size: 14px; }
.module-page[data-business-plan-mode-value="edit"] .bp-text-bloc ul li { font-size: 14px; }
.module-page[data-business-plan-mode-value="edit"] .ordonned-list li { font-size: 16px; }
.module-page[data-business-plan-mode-value="edit"] .bp-disclaimer h2 { font-size: 14px; }
.module-page[data-business-plan-mode-value="edit"] .bp-disclaimer p { font-size: 12px; }
.module-page[data-business-plan-mode-value="edit"] .resume-cards .card h2 { font-size: 12px; }
.module-page[data-business-plan-mode-value="edit"] .resume-cards .card h1 { font-size: 18px; }
.module-page[data-business-plan-mode-value="edit"] .resume-cards .card span { font-size: 11px; }
.module-page[data-business-plan-mode-value="edit"] .bp-legend-item { font-size: 12px; }
.module-page[data-business-plan-mode-value="edit"] .bp-bar span { font-size: 11px; }
.module-page[data-business-plan-mode-value="edit"] .bp-bar-label { font-size: 14px; }
.module-page[data-business-plan-mode-value="edit"] .bp-pie-legend-label,
.module-page[data-business-plan-mode-value="edit"] .bp-pie-legend-value { font-size: 16px; }
.module-page[data-business-plan-mode-value="edit"] .bp-hbar-label { font-size: 15px; }
.module-page[data-business-plan-mode-value="edit"] .bp-hbar-value { font-size: 15px; }
.module-page[data-business-plan-mode-value="edit"] .bp-gantt-header .bp-gantt-months span { font-size: 13px; }
.module-page[data-business-plan-mode-value="edit"] .bp-line-chart-y-axis span { font-size: 13px; }
.module-page[data-business-plan-mode-value="edit"] .bp-line-dot span { font-size: 12px; }
.module-page[data-business-plan-mode-value="edit"] .bp-line-chart-x-axis span { font-size: 13px; }
.module-page[data-business-plan-mode-value="edit"] .bp-line-legend-item span { font-size: 14px; }
.module-page[data-business-plan-mode-value="edit"] .bp-empty-content { font-size: 16px; }
.module-page[data-business-plan-mode-value="edit"] .bp-table { font-size: 14px; }
.module-page[data-business-plan-mode-value="edit"] .bp-table thead th { font-size: 16px; }
.module-page[data-business-plan-mode-value="edit"] .bp-table table tr td { font-size: 16px; }
.module-page[data-business-plan-mode-value="edit"] .bp-table-title { font-size: 14px; }
.module-page[data-business-plan-mode-value="edit"] .bp-team-infos h1 { font-size: 14px; }
.module-page[data-business-plan-mode-value="edit"] .bp-team-infos span { font-size: 12px; }
.module-page[data-business-plan-mode-value="edit"] .bp-team p { font-size: 13px; }
.module-page[data-business-plan-mode-value="edit"] .bp-seg h2 { font-size: 11px; }
.module-page[data-business-plan-mode-value="edit"] .bp-seg h1 { font-size: 22px; }
.module-page[data-business-plan-mode-value="edit"] .bp-seg p { font-size: 10px; }
.module-page[data-business-plan-mode-value="edit"] .bp-swot-disclaimer { font-size: 13px; }
.module-page[data-business-plan-mode-value="edit"] .swot-item-text { font-size: 14px !important; }
.module-page[data-business-plan-mode-value="edit"] .bp-product img { height: 200px; }
.module-page[data-business-plan-mode-value="edit"] .bp-detail img { height: 140px; }
.module-page[data-business-plan-mode-value="edit"] .bp-product-text h3 { font-size: 14px; }
.module-page[data-business-plan-mode-value="edit"] .bp-product-text span { font-size: 12px; }
.module-page[data-business-plan-mode-value="edit"] .bp-ekip-header h4 { font-size: 14px; }
.module-page[data-business-plan-mode-value="edit"] .bp-ekip-header span { font-size: 12px; }
.module-page[data-business-plan-mode-value="edit"] .bp-ekip-initials { font-size: 18px; }
.module-page[data-business-plan-mode-value="edit"] .bp-equipe p { font-size: 13px; }
.module-page[data-business-plan-mode-value="edit"] .bp-footer { font-size: 13px; }
.module-page[data-business-plan-mode-value="edit"] .bp-segment-item p { font-size: 16px; }
.module-page[data-business-plan-mode-value="edit"] .bp-add-btn { font-size: 15px; }
.module-page[data-business-plan-mode-value="edit"] .bp-add-list-item-btn { font-size: 15px; }
.module-page[data-business-plan-mode-value="edit"] .cover-page .bp-title { font-size: 22px; }
.module-page[data-business-plan-mode-value="edit"] .cover-page .cover-body p { font-size: 42px; }
.module-page[data-business-plan-mode-value="edit"] .cover-page .cover-body .cover-date { font-size: 16px; }
.module-page[data-business-plan-mode-value="edit"] .cover-footer .cover-footer-left div span,
.module-page[data-business-plan-mode-value="edit"] .elite span { font-size: 11px; }
.module-page[data-business-plan-mode-value="edit"] .cover-footer .cover-footer-left div h2,
.module-page[data-business-plan-mode-value="edit"] .elite h2 { font-size: 14px; }

.financing-echeancier-hint{
    padding: 20px;
}

.financing-emprunt-btn{
    margin: 15px;
    margin-top: 0;
    width: calc(100% - 30px);
}

@media (max-width: 768px){

    /* ── Radio group: stack vertically ── */
    .business-plan-radio-group{
        display: flex;
        flex-direction: column;
    }

    /* ── Header: stack title + buttons ── */
    .module-page[data-controller="business-plan"] .page-header-content{
        align-items: center;
        gap: 12px;
        padding: 14px 16px;
    }

    .module-page[data-controller="business-plan"] .etude-index-page-header-left{
        width: 100%;
    }

    .module-page[data-controller="business-plan"] .etude-title h1{
        font-size: 15px;
    }

    .module-page[data-controller="business-plan"] .projects-index-page-header-right{
        width: 100%;
        gap: 8px;
        justify-content: space-between;
    }

    .module-page[data-controller="business-plan"] .mode-toggle-group{
        width: auto;
        min-width: 0;
        height: 36px;
        flex: 1;
    }

    .module-page[data-controller="business-plan"] .mode-toggle-group button{
        padding: 4px 10px;
        gap: 5px;
    }

    .module-page[data-controller="business-plan"] .mode-toggle-group button span{
        display: none;
    }

    .module-page[data-controller="business-plan"] .mode-toggle-group button i{
        font-size: 14px;
    }

    .module-page[data-controller="business-plan"] .download-button{
        padding: 8px 10px;
        gap: 0;
    }

    .module-page[data-controller="business-plan"] .download-button span{
        display: none;
    }

    .module-page[data-controller="business-plan"] .export-dropdown-chevron{
        display: none;
    }

    .module-page[data-controller="business-plan"] .aide-button{
        padding: 8px 10px;
    }

    .module-page[data-controller="business-plan"] .aide-button span{
        display: none;
    }

    /* ── Sidebar → horizontal scrollable bar ── */
    .business-plan-sidebar.etude-marche-sidebar{
        width: 100%;
        height: auto;
        border-right: none;
        border-bottom: 1px solid #DFE5EC;
        padding: 12px 0;
        flex-direction: row;
        position: sticky;
        top: 0;
        z-index: 10;
        background: #fff;
    }

    .business-plan-sections-nav{
        flex-direction: row;
        gap: 8px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 0 15px 2px;
    }

    .business-plan-sections-nav::-webkit-scrollbar{
        display: none;
    }

    .business-plan-sections-nav a{
        white-space: nowrap;
        padding: 8px 12px;
        gap: 8px;
        flex-shrink: 0;
        border-radius: 8px;
    }

    .business-plan-sections-nav a span{
        font-size: 12px;
        line-height: 16px;
    }

    .business-plan-section-number{
        width: 22px;
        height: 22px;
        font-size: 11px;
    }

    /* ── Content area ── */
    .business-plan-content.etude-marche-content{
        width: 100%;
        height: auto !important;
        overflow: visible;
        padding: 16px;
        height: calc(100vh - 276.5px) !important;
        overflow: scroll;
        margin-bottom: 76px;
    }

    /* ── BP Pages: full width on mobile ── */
    .bp-page{
        width: 100%;
        border-radius: 10px;
    }

    .module-page[data-business-plan-mode-value="edit"] .bp-page.cover-page{
        width: 100%;
        height: auto;
        gap: 20px;
        padding: 20px;
    }

    .bp-scroll{
        padding: 20px;
    }

    /* ── Cover wrapper: stack vertically ── */
    .bp-cover-wrapper{
        flex-direction: column;
        gap: 16px;
    }

    .module-page[data-business-plan-mode-value="edit"] .bp-cover-wrapper{
        width: 100%;
    }

    .bp-cover-color-picker{
        width: 100%;
    }

    /* ── Resume cards: stack ── */
    .resume-cards{
        flex-direction: column;
        gap: 10px;
    }

    .resume-cards .card{
        width: 100%;
    }

    /* ── Generation loader ── */
    .bp-generation-loader{
        padding: 40px 20px;
    }

    /* ── Form steps: nav block ── */
    .business-plan-nav-block{
        padding: 0 16px;
        height: 80px;
    }

    .business-plan-config-form{
        padding: 0 16px;
    }

    .projects-page.business-plan-page{
        height: calc(100vh - 140px);
    }

    .business-plan-field-description,
    .business-plan-step-description,
    .business-plan-checkbox-description{
        font-size: 14px;
    }

    .tamsamsom, .bp-pie-chart-wrapper, .bp-details{
        flex-direction: column;
    }

    .tamsamsom .left, .tamsamsom .right, .bp-pie-legend{
        width: 100%;
    }

    .bp-detail{
        display: flex;
        align-items: start;
        gap: 10px;
        width: 100%;
    }

    .bp-detail img{
        width: 80px;
        height: 80px;
        flex-shrink: 0;
    }

    .bp-text-bloc ol{
        margin-left: 0;
    }
}

/* ========== Modules Checklist (Step 7) ========== */

.bp-modules-checklist{
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 20px;
}

.bp-module-check-item{
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
}

.bp-module-check-icon{
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bp-module-check-info{
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.bp-module-check-name{
    color: var(--Color1, #223245);
    font-size: 14px;
    font-weight: 600;
    line-height: 18px;
}

.bp-module-check-desc{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
}

.bp-module-check-button{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 8px;
    background: #0A58A5;
    color: #FFF;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background 0.15s ease, transform 0.1s ease;
}

.bp-module-check-button:hover{
    background: #084A8A;
    transform: translateY(-1px);
}

.bp-module-check-button:active{
    transform: translateY(0);
}

.bp-modules-summary{
    margin-top: 16px;
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
}

.bp-modules-summary.all-done{
    background: #FFF;
    color: #166534;
    border: 1px solid var(--stroke-1, #DFE5EC);
}

.bp-modules-summary.some-missing{
    background: #FFF;
    color: #92400E;
    border: 1px solid var(--stroke-1, #DFE5EC);
}

@media (max-width: 600px) {
    .bp-module-check-item{
        flex-wrap: wrap;
        gap: 10px;
    }

    .bp-module-check-button{
        width: 100%;
        justify-content: center;
    }
}

/* ===== Annexes Section ===== */

/* Module projet (checkbox rows) */
.bp-annexe-modules-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bp-annexe-module {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 10px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    transition: opacity 0.2s, background-color 0.3s;
}

.bp-annexe-module--unchecked {
    opacity: 0.5;
}

/* In preview mode, hide unchecked modules entirely */
.module-page[data-business-plan-mode-value="preview"] .bp-annexe-module--unchecked {
    display: none;
}

.bp-annexe-module-checkbox {
    display: flex;
    align-items: center;
    padding-top: 2px;
    flex-shrink: 0;
}

.bp-annexe-module-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #0A58A5;
    cursor: pointer;
}

.bp-annexe-module-info {
    flex: 1;
    min-width: 0;
}

.bp-annexe-module-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.bp-annexe-module-name {
    font-weight: 600;
    font-size: 14px;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

.bp-annexe-module-desc {
    font-size: 13px;
    color: #6B7280;
    margin: 0;
    line-height: 1.4;
    font-family: "Open Sans", sans-serif;
}

.bp-annexe-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    font-family: "Open Sans", sans-serif;
}

.bp-annexe-badge--done {
    background: #D1FAE5;
    color: #065F46;
}

.bp-annexe-badge--pending {
    background: #FEF3C7;
    color: #92400E;
}

/* Documents externes */
.bp-annexe-docs-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bp-annexe-doc {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 10px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    transition: background-color 0.3s, opacity 0.3s;
}

.bp-annexe-doc-info {
    flex: 1;
    min-width: 0;
}

.bp-annexe-doc-name {
    font-weight: 600;
    font-size: 14px;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

.bp-annexe-doc-desc {
    font-size: 13px;
    color: #6B7280;
    margin: 4px 0 0;
    line-height: 1.4;
    font-family: "Open Sans", sans-serif;
}

.bp-annexe-file-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    font-size: 13px;
    font-weight: 500;
    color: #0A58A5;
    text-decoration: none;
    font-family: "Open Sans", sans-serif;
}

.bp-annexe-file-link:hover {
    text-decoration: underline;
}

.bp-annexe-file-link svg {
    flex-shrink: 0;
    transform: rotate(180deg);
}

/* File preview in modal */
.bp-annexe-file-preview {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    padding: 8px 12px;
    background: #F3F4F6;
    border-radius: 8px;
    font-size: 13px;
    color: #374151;
    font-family: "Open Sans", sans-serif;
}

.bp-annexe-file-preview svg {
    flex-shrink: 0;
    color: #6B7280;
}

.bp-annexe-file-preview-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.login-container {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 20px;
    height: 100vh;
    width: 600px;
    margin: 0 auto;
}

.login-container .login-content{
    border-radius: 30px;
    border: 1px solid var(--Contour-Color, #DFE5EC);
    background: var(--Blanc, #FFF);
    /* gr2 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    width: 100%;
    max-height: 85vh;
    overflow: scroll;
}

.login-form-title-section{
    border-radius: 30px 30px 0 0;
    border-bottom: 1px solid var(--Contour-Color, #DFE5EC);
    background: var(--gradient4, linear-gradient(180deg, #E6ECF5 0%, #FFF 100%));
    padding: 40px;
}

.login-form-title-section h1{
    color: var(--Color-Texte, #22364D);
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px; /* 110% */
    text-align: center;
    margin: 0;
}

.profile-options{
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-bottom: 20px;
}

.profile-option{
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 16px;
    border-radius: 20px;
    border: 1px solid #E2E8F0;
    background: #FFF; 
    cursor: pointer;
    transition: all 0.3s ease;
}

.profile-title{
    color: #0F172B;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 150% */
}

.profile-description{
    color: #62748E;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 142.857% */
    margin-top: 2px;
}

.login--email-footer{
    text-align: center;
    border-radius: 0 0 30px 30px;
    border: 1px solid var(--Contour-Color, #DFE5EC);
    background: var(--Blanc, #FFF);
    padding: 20px 0;
    /* gr2 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
}

.no-account-text{
    color: #45556C;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 142.857% */
    margin: 20px 0;
    margin-bottom: 40px;
}

.login-footer{
  padding: 0 40px;
}

.no-account-text a{
    color: #0A58A5;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 142.857% */
}

.profile-option.selected{
    border: 1px solid #0A58A5;
    background: #F0F7FF;
}

.login-footer button{
    width: 100%;
    height: 48px;
    border-radius: 15px;
    background: #0A58A5;
    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 150% */
    border: none;
    cursor: pointer;
}

.login-form-content-inner{
    padding: 40px;
    width: 600px;
}

.login-form-container{
  width: 600px;
}

.login-form-container{
  padding: 40px;
  padding-top: 0;
  padding-bottom: 0;
}

.back-link{
    display: flex;
    align-items: center;
    gap: 10px;
    border: none;
    color: #62748E;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 142.857% */
}

.login-form-title{
    color: #0F172B;
    text-align: center;
    font-size: 30px;
    font-style: normal;
    font-weight: 800;
    line-height: 36px; /* 120% */
    margin: 20px 0;
}


.password-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.forgot-password-link{
    color: #0A58A5;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 142.857% */
}

.password-input-wrapper{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 44px;
}

.password-input-wrapper input{
    width: 95%;
    border: none;
    background: transparent;
}

.password-input-wrapper button{
    border: none;
    background: transparent;
    cursor: pointer;
}

.password-toggle-button i{
    color: #62748E;
}

.login-submit-button{
    border-radius: 15px;
    background: var(--Color-2, #0A58A5);
    width: 100%;
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 114.286% */
    height: 48px;
    border: none;
    cursor: pointer;
}

.social-login-buttons{
    height: 44px;
    margin-top: 20px;
}

.login-form-content-inner .divider{
    border: .5px solid #DFE5EC;
    margin: 20px 0;
}

.google-button, .google{
    width: 100%;
    height: 44px;
    border-radius: 15px;
    color: #45556C;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 114.286% */
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid #DFE5EC;
}

.login-form{
    width: 100%;
    margin-top: 20px;
}

.cgu-checkbox{
    display: flex;
    align-items: center;
    gap: 10px;
}

.cgu-checkbox-label a{
    color: #0A58A5;
}

.login-submit-button:disabled{
    opacity: 0.5;
    cursor: not-allowed;
}

.login-form-nav-section{
    margin-top: 20px;
}

.login-form-nav{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #DFE5EC;
}

.login-form-nav button{
    border: none;
    background: transparent;
    cursor: pointer;
    width: 50%;
    padding: 8px 0;
    color: var(--Color2, #6E7F93);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px; /* 137.5% */
}

.login-form-nav-button.active{
    color: var(--Color-2, #0A58A5);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px; /* 137.5% */
    border-bottom: 1.5px solid var(--Color-2, #0A58A5);
}

.phone-input-wrapper{
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 44px;
    padding: 1rem;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 22px; /* 137.5% */
}

.phone-input-wrapper input{
    width: 80%;
    border: none;
    background: transparent;
}

  .email-sent-section {
    text-align: center;
    padding: 40px 20px;
    width: 95%;
    margin: 0 auto;
  }

  .email-sent-icon {
    margin-bottom: 30px;
    display: flex;
    justify-content: center;
  }

  .email-sent-instructions {
    background-color: #F8F9FA;
    border-radius: 8px;
    padding: 24px;
    margin: 30px 0;
    text-align: left;
  }

  .instruction-text {
    color: #223245;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 16px;
  }

  .instruction-list {
    color: #6E7F93;
    font-size: 14px;
    line-height: 1.8;
    padding-left: 20px;
    margin: 0;
  }

  .instruction-list li {
    margin-bottom: 8px;
  }

  .email-sent-help {
    display: flex;
    flex-direction: column;
    padding: 22px 54px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 15px;
    background: #F6F7F8;
    margin: 30px 0;
  }

  .email-sent-help h4{
    color: var(--Color-2, #0A58A5);
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 27px; /* 168.75% */
  }

  .email-sent-help p{
    color: var(--Color2, #6E7F93);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 27px;
  }

  .email-sent-actions {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
  }

  .resend-email-form {
    width: 100%;
    max-width: 300px;
  }

  .resend-email-button {
    width: 100%;
    background-color: #0A58A5;
    color: #ffffff;
    border: none;
    border-radius: 15px;
    padding: 14px 24px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease;
    font-family: 'Open Sans', Arial, sans-serif;
  }

  .email-sent-actions p{
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 27px; /* 192.857% */
  }

  .resend-email-button:hover {
    background-color: #0C6BC2;
  }

  .resend-email-button:active {
    transform: translateY(1px);
  }

  .back-to-login-link {
    color: var(--Color0, #445972);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 27px; /* 192.857% */
  }

  .back-to-login-link:hover {
    color: #0C6BC2;
    text-decoration: underline;
  }

  .login-title{
    color: var(--Color1, #223245);
    font-size: 24px;
    font-weight: 700;
  }

  .login-subtitle{
    color: var(--Color0, #445972);
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 27px; /* 168.75% */
    margin-top: 27px;
  }

  .login-form-nav-section{
    margin-bottom: 20px;
  }

@media (max-width: 768px) {

  .login-form-container{
    padding: 15px;
  }

  .login-form-container{
    width: 100%;
  }

  .login-form-title-section{
    padding: 20px;
  }

  .login-container{
    width: 95%;
    margin: 0 auto;
    justify-content: start;
    margin-top: 80px;

  }

  .profile-options, .email-sent-section{
    padding: 20px;
  }

  .login-footer{
    padding: 0 20px;
  }

  .login-form-content-inner{
    width: 100%;
    padding: 20px;
  }

  .login-container .login-content{
    max-height: 75vh;
  }

  .password-input-wrapper input {
    width: 92%;
  }

}
.idee-main-content {
    display: flex;
    flex-direction: row-reverse;
    gap: 26px;
}

.idee-tab-container-content{
    border-radius: 15px;
    background: #FFF;
    /* gr1 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
}

.idee-top{
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 30%;
}

.idee-du-jour-card{
    height: 250px;
    padding: 20px;
    border-radius: 20px 20px 0 0;
    background-size: cover;
    background-position: center center !important;
}

span.idee-du-jour-card-text {
    border-radius: 20px;
    background: var(--fr, linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%));
    padding: 6px 12px;
    color: #FFF;
    font-family: "Open Sans";
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    line-height: 12px; /* 120% */
}

.idee-tab-content{
    padding: 25px;
}

.idee-title{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 100% */
}

.idee-description{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px; /* 157.143% */
    margin-top: 15px;
}

.idee-metadata{
    margin-top: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.idee-metadata-item{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    color: #6A7282;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 166.667% */
    padding: 0 15px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.idee-metadata-item.categ{
    border-radius: 30px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: rgba(10, 88, 165, 0.06);
    color: var(--Color-2, #0A58A5);
    font-family: "Open Sans";
    font-size: 10px;
    font-style: normal;
    font-weight: 600;
    line-height: 16px; /* 160% */
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.idee-problem-opportunity{
    margin-top: 15px;
    display: flex;
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    padding: 24px;
    gap: 15px;
}

.idee-section-title{
    color: #223245;
font-family: "Open Sans";
font-size: 18px;
font-style: normal;
font-weight: 700;
line-height: 28px; /* 155.556% */
}

.idee-section{}

.idee-section p{
    color: #4A5565;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 22.75px; /* 162.5% */
}

.idee-tabs{
    margin-top: 20px;
    border-radius: 10px;
border: 1px solid var(--stroke-1, #DFE5EC);
background: #F6F7F8;
width: 100%;
height: 42px;
display: flex;
align-items: center;
justify-content: center;
padding: 4px;
}

.idee-tab{
    width: 33%;
    border: none;
    height: 100%;
    color: var(--Color-3, #B5C1D0);
font-family: "Open Sans";
font-size: 12px;
font-style: normal;
font-weight: 600;
line-height: 20px; /* 166.667% */
}

.idee-tab.active{
    border-radius: 8px;
    background: #0A58A5;
    color: #FFF;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px; /* 166.667% */
}

.idee-tab-panel-content{
    margin-top: 15px;
}

.idee-tab-container{
    width: 70%;
}

.idee-interest-card{
    border-radius: 20px;
background: #223245;
padding: 20px;
color: #fff;
}

.idee-interest-card h3{
    color: #FFF;
font-family: "Open Sans";
font-size: 18px;
font-style: normal;
font-weight: 700;
line-height: 28px; /* 155.556% */
}

.idee-interest-card p{
    color: #D1D5DC;
font-family: "Open Sans";
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: 18px; /* 150% */
margin: 10px 0;
}

.idee-interest-card a{
    display: flex;
    width: 100%;
    border-radius: 14px;
    background: #0A58A5;
    height: 42px;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
    color: #FFF;
    text-align: center;
    font-family: "Open Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 150% */
}

.idee-validation-header{
    border-radius: 16px;
border: 1px solid var(--stroke-1, #DFE5EC);
background: var(--kkkk, linear-gradient(178deg, #DFE5EC -8.86%, #FFF 49.74%));

/* gr1 */
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
padding: 0 30px;
height: 70px;
display: flex;
align-items: center;
gap: 15px;
}

.idee-validation-header span{
    color: #59B224;
    text-align: center;
    font-family: "Open Sans";
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 32px; /* 114.286% */
}

.idee-validation-header h4{
    color: var(--Color0, #445972);
font-family: "Open Sans";
font-size: 16px;
font-style: normal;
font-weight: 700;
line-height: 16px; /* 100% */
text-transform: uppercase;
}

.idee-validation-item{
    border-radius: 20px;
border: 1px solid #DFE5EC;
background: #FFF;

/* gr2 */
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
padding: 20px;
margin-top: 20px;
}

.idee-validation-item h5{
    color: #223245;
font-family: "Open Sans";
font-size: 14px;
font-style: normal;
font-weight: 700;
line-height: 20px; /* 142.857% */
letter-spacing: 0.35px;
text-transform: uppercase;
margin-bottom: 20px;
}

.idee-progress-bar-test{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 15px;
}

.idee-progress-bar-test span{
    color: #4A5565;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 142.857% */
}

.idee-validation-label{
    color: #223245;
font-family: "Open Sans";
font-size: 14px;
font-style: normal;
font-weight: 700;
line-height: 20px; /* 142.857% */
}

.idee-entrepreneurs-count{
    color: #6A7282;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
}

.idee-archives-section{
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    
    /* gr2 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    padding: 20px;
    margin-top: 20px;
    height: 300px;
    overflow: scroll;
}

.idee-archives-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.concept-section{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.concept-section h3{
    color: var(--Color1, #223245);
font-family: "Open Sans";
font-size: 18px;
font-style: normal;
font-weight: 700;
line-height: 28px; /* 155.556% */
}

.concept-section p{
    color: var(--Color2, #6E7F93);
font-family: "Open Sans";
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 22px; /* 157.143% */
}

.ssauce{
    border-radius: 10px;
border: 1px solid rgba(255, 153, 1, 0.20);
background: rgba(255, 153, 1, 0.10);
margin-top: 15px;
padding: 20px;
}

.ssauce h3{
    color: var(--Color1, #223245);
font-family: "Open Sans";
font-size: 14px;
font-style: normal;
font-weight: 700;
line-height: 18px; /* 128.571% */
}

.ssauce p{
    color: var(--Color2, #6E7F93);
font-family: "Open Sans";
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: 12px; /* 100% */
}

.mvp-section{
    margin-top: 15px;
    
    border-radius: 15px;
border: 1px solid var(--stroke-1, #DFE5EC);
padding: 20px;
}

.mvp-section h3{
    color: var(--Color1, #223245);
font-family: "Open Sans";
font-size: 14px;
font-style: normal;
font-weight: 700;
line-height: 22px; /* 157.143% */
}

.mvp-section span{
    color: #223245;
font-family: "Open Sans";
font-size: 14px;
font-style: normal;
font-weight: 500;
line-height: 20px; /* 142.857% */
}

.mvp-section p{
    color: #4A5565;
font-family: "Open Sans";
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: 16px; /* 133.333% */
}

/* ═══════════════════════════════════════════════════
   SECTION ICONES & SEPARATEUR (Problème / Opportunité)
   ═══════════════════════════════════════════════════ */

.idee-section{
    flex: 1;
}

.idee-section-icon{
    width: 40px;
    height: 40px;
    margin-bottom: 10px;
}

.idee-section-separator{
    width: 1px;
    background: #DFE5EC;
    align-self: stretch;
}

/* ═══════════════════════════════════════════════════
   USP LIST (Secret Sauce)
   ═══════════════════════════════════════════════════ */

.idee-usp-list{
    list-style: none;
    padding: 0;
    margin: 10px 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.idee-usp-list li{
    color: #4A5565;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    padding-left: 16px;
    position: relative;
}

.idee-usp-list li::before{
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #FF9901;
}

.idee-usp-list li strong{
    color: #223245;
    font-weight: 700;
}

/* ═══════════════════════════════════════════════════
   VALIDATION — Score, Progress bars
   ═══════════════════════════════════════════════════ */

.idee-validation-section{
    display: flex;
    flex-direction: column;
    gap: 0;
}

.idee-validation-item-test{
    margin-bottom: 0;
}

.idee-validation-percent{
    color: #59B224;
    text-align: center;
    font-family: "Open Sans";
    font-size: 28px;
    font-weight: 700;
    line-height: 32px;
}

.idee-progress-bar{
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: #EDF0F3;
    overflow: hidden;
    margin-bottom: 14px;
}

.idee-progress-fill{
    height: 100%;
    border-radius: 4px;
    transition: width 0.6s ease-out;
}

/* ═══════════════════════════════════════════════════
   ARCHIVES — Items sidebar
   ═══════════════════════════════════════════════════ */

.idee-section-heading{
    color: #223245;
    font-family: "Open Sans";
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
    margin: 0;
}

.idee-archives-link{
    color: #0A58A5;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.idee-archives-link:hover{
    text-decoration: underline;
}

.idee-archives-list{
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 12px;
}

.idee-archive-item{
    display: block;
    padding: 12px;
    border-bottom: 1px solid #EDF0F3;
    text-decoration: none;
    transition: background 0.2s;
    border-radius: 8px;
}

.idee-archive-item:last-child{
    border-bottom: none;
}

.idee-archive-item:hover{
    background: #F6F7F8;
    
}

.idee-archive-category{
    color: #6A7282;
    font-family: "Open Sans";
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.idee-archive-title{
    color: #223245;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
    margin-top: 4px;
}

/* ═══════════════════════════════════════════════════
   BUSINESS MODEL — Investment / ROI Cards
   ═══════════════════════════════════════════════════ */

.idee-investment-roi-cards{
    display: flex;
    gap: 16px;
    margin-bottom: 20px;
}

.idee-investment-card,
.idee-roi-card{
    flex: 1;
    border-radius: 16px;
    border: 1px solid #DFE5EC;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.idee-investment-card{
    background: linear-gradient(135deg, #EFF6FF 0%, #F0F4FF 100%);
}

.idee-roi-card{
    background: linear-gradient(135deg, #ECFDF5 0%, #F0FDF4 100%);
}

.idee-card-label{
    color: #6E7F93;
    font-family: "Open Sans";
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.idee-card-amount{
    color: #0A58A5;
    font-family: "Open Sans";
    font-size: 22px;
    font-weight: 700;
    line-height: 28px;
}

.idee-roi-amount{
    color: #059669;
}

/* ═══════════════════════════════════════════════════
   BUSINESS MODEL — Structure Financière Mensuelle
   ═══════════════════════════════════════════════════ */

.idee-monthly-financial{
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 12px;
    border-radius: 12px;
    border: 1px solid #DFE5EC;
    overflow: hidden;
}

.idee-financial-item{
    padding: 14px 20px;
    border-bottom: 1px solid #EDF0F3;
}

.idee-financial-item:last-child{
    border-bottom: none;
}

.idee-financial-item.idee-revenue{
    background: rgba(5, 150, 105, 0.04);
}

.idee-financial-item.idee-expense{
    background: rgba(239, 68, 68, 0.04);
}

.idee-financial-item.idee-margin{
    background: linear-gradient(135deg, #EFF6FF 0%, #EEF2FF 100%);
    border-top: 2px solid #0A58A5;
}

.idee-financial-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.idee-financial-label{
    color: #445972;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 600;
}

.idee-financial-value{
    font-family: "Open Sans";
    font-size: 15px;
    font-weight: 700;
}

.idee-financial-value.idee-positive{
    color: #059669;
}

.idee-financial-value.idee-negative{
    color: #EF4444;
}

.idee-financial-value.idee-margin-value{
    color: #0A58A5;
}

.idee-financial-detail{
    color: #6A7282;
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    margin-top: 4px;
}

/* ═══════════════════════════════════════════════════
   PLAN D'ACTION — Timeline
   ═══════════════════════════════════════════════════ */

.idee-action-plan{
    padding: 20px;
}

.idee-timeline{
    position: relative;
    padding-left: 28px;
}

.idee-timeline::before{
    content: "";
    position: absolute;
    left: 8px;
    top: 6px;
    bottom: 6px;
    width: 2px;
    background: linear-gradient(180deg, #0A58A5 0%, #3B82F6 100%);
    border-radius: 1px;
}

.idee-timeline-item{
    position: relative;
    padding-bottom: 24px;
}

.idee-timeline-item:last-child{
    padding-bottom: 0;
}

.idee-timeline-dot{
    position: absolute;
    left: -24px;
    top: 4px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #FFF;
    border: 3px solid #0A58A5;
    z-index: 1;
}

.idee-timeline-item:first-child .idee-timeline-dot{
    background: #0A58A5;
    border-color: #0A58A5;
}

.idee-timeline-content{
    padding-left: 8px;
}

.idee-timeline-title{
    color: #0A58A5;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 4px;
}

.idee-timeline-description{
    color: #445972;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
}

/* ═══════════════════════════════════════════════════
   MODAL DE PARTAGE
   ═══════════════════════════════════════════════════ */

.share-modal{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.share-modal-overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(34, 50, 69, 0.5);
    backdrop-filter: blur(4px);
}

.share-modal-content{
    position: relative;
    z-index: 1;
    width: 480px;
    max-width: 90vw;
    border-radius: 20px;
    background: #FFF;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    padding: 28px;
    animation: chatScaleIn 0.3s ease-out;
}

.share-modal-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.share-modal-header h3{
    color: #223245;
    font-family: "Open Sans";
    font-size: 18px;
    font-weight: 700;
    margin: 0;
}

.share-modal-close{
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #6A7282;
    transition: background 0.2s;
}

.share-modal-close:hover{
    background: #F6F7F8;
}

.share-modal-body label{
    display: block;
    color: #445972;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
}

.share-link-section{
    margin-bottom: 20px;
}

.share-link-input-group{
    display: flex;
    gap: 8px;
}

.share-link-input{
    flex: 1;
    height: 42px;
    border-radius: 10px;
    border: 1px solid #DFE5EC;
    background: #F6F7F8;
    padding: 0 14px;
    font-family: "Open Sans";
    font-size: 13px;
    color: #445972;
    outline: none;
}

.share-copy-button{
    height: 42px;
    padding: 0 20px;
    border-radius: 10px;
    border: none;
    background: #0A58A5;
    color: #FFF;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
    white-space: nowrap;
}

.share-copy-button:hover{
    background: #084a8a;
}

.share-social-buttons{
    display: flex;
    gap: 10px;
}

.share-social-button{
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 42px;
    border-radius: 10px;
    text-decoration: none;
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 600;
    color: #FFF;
    transition: opacity 0.2s;
}

.share-social-button:hover{
    opacity: 0.85;
}

.share-social-button.facebook{
    background: #1877F2;
}

.share-social-button.twitter{
    background: #1DA1F2;
}

.share-social-button.linkedin{
    background: #0A66C2;
}

.share-social-button.whatsapp{
    background: #25D366;
}

/* ═══════════════════════════════════════════════════
   ARCHIVES IDÉES DU JOUR — Hero
   ═══════════════════════════════════════════════════ */

.archives-idj-hero{
    border-radius: 20px;
    background: var(--gar, linear-gradient(97deg, #0A58A5 -8.25%, #161921 134.93%));
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -4px rgba(0, 0, 0, 0.10);
    padding: 20px;
}

.archives-idj-hero-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.archives-idj-hero-title{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
}

.archives-idj-hero-description{
    margin-top: 10px;
    color: #DBEAFE;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
}

.archives-idj-hero-stats{
    display: flex;
    gap: 10px;
}

.archives-idj-stat{
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    background: rgba(0, 0, 0, 0.10);
    padding: 12px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 100px;
}

.archives-idj-stat-value{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 22px;
    font-weight: 700;
}

.archives-idj-stat-label{
    color: #BEDBFF;
    font-family: "Open Sans";
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.archives-idj-search{
    margin-top: 20px;
}

.archives-idj-search-bar{
    border-radius: 12px;
    background: #FFF;
    height: 44px;
    display: flex;
    align-items: center;
    padding: 0 14px;
    gap: 10px;
}

.archives-idj-search-bar i{ color: #6E7F93; font-size: 15px; }

.archives-idj-search-bar input{
    height: 100%;
    width: 100%;
    border: none;
    border-radius: 12px;
    font-family: "Open Sans";
    font-size: 14px;
    color: #223245;
}

.archives-idj-search-bar input:focus{ outline: none; }

/* ═══════════════════════════════════════════════════
   ARCHIVES IDÉES DU JOUR — Filters
   ═══════════════════════════════════════════════════ */

.archives-idj-filters{
    margin: 17px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.archives-idj-filter-pills{
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    border-radius: 12px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 5px;
}

.archives-idj-filter-pill{
    border: none;
    padding: 6px 14px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--Color2, #6E7F93);
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
    transition: all .2s ease-in-out;
    background: transparent;
    cursor: pointer;
    border-radius: 8px;
    font-family: "Open Sans";
    white-space: nowrap;
}

.archives-idj-filter-pill:hover{ color: #223245; background: #F8F9FA; }

.archives-idj-filter-pill.active{
    background: #0A58A5;
    color: #fff;
}

.archives-idj-results-count{
    color: #6E7F93;
    font-size: 13px;
    font-family: "Open Sans";
    font-weight: 500;
    white-space: nowrap;
}

/* ═══════════════════════════════════════════════════
   ARCHIVES IDÉES DU JOUR — Grid & Cards
   ═══════════════════════════════════════════════════ */

.archives-idj-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}

.archives-idj-card{
    border-radius: 16px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    overflow: hidden;
    text-decoration: none;
    transition: all .25s ease;
    display: flex;
    flex-direction: column;
}

.archives-idj-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
    border-color: #0A58A5;
}

.archives-idj-card-image{
    height: 160px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.archives-idj-card-overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(22, 25, 33, 0.50) 0%, rgba(22, 25, 33, 0.10) 100%);
    display: flex;
    align-items: flex-end;
    padding: 12px;
}

.archives-idj-card-badge{
    border-radius: 20px;
    background: linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%);
    padding: 4px 10px;
    color: #FFF;
    font-family: "Open Sans";
    font-size: 10px;
    font-weight: 700;
    line-height: 14px;
}

.archives-idj-card-body{
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.archives-idj-card-top{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.archives-idj-card-category{
    color: #0A58A5;
    font-family: "Open Sans";
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.archives-idj-card-date{
    color: #6E7F93;
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 400;
}

.archives-idj-card-title{
    color: #223245;
    font-family: "Open Sans";
    font-size: 15px;
    font-weight: 700;
    line-height: 20px;
    margin: 0;
}

.archives-idj-card-desc{
    color: #4A5565;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 400;
    line-height: 19px;
    margin: 0;
}

.archives-idj-card-footer{
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid #EDF0F3;
}

.archives-idj-card-meta{
    color: #6E7F93;
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 5px;
}

.archives-idj-card-meta i{
    font-size: 11px;
    color: #9CA3AF;
}

.archives-idj-card-score{
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 700;
    margin-left: auto;
}

/* Empty & No Results */

.archives-idj-empty{
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: #6E7F93;
    font-family: "Open Sans";
}

.archives-idj-empty i{
    font-size: 40px;
    color: #0A58A5;
    margin-bottom: 16px;
    display: block;
}

.archives-idj-no-results{
    text-align: center;
    padding: 40px 20px;
    color: #6E7F93;
    font-family: "Open Sans";
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.archives-idj-no-results i{ color: #9CA3AF; }

/* ═══════════════════════════════════════════════════
   ANIMATIONS — Idée du Jour
   ═══════════════════════════════════════════════════ */

/* Header */
.tendances-page-header{
    animation: fadeUp 0.4s ease-out both;
}

/* Interest Card */
.idee-interest-card{
    animation: scaleIn 0.5s ease-out 0.1s both;
}

/* Sidebar */
.idee-sidebar{
    animation: fadeUp 0.4s ease-out 0.2s both;
}

/* Image Card */
.idee-du-jour-card{
    animation: scaleIn 0.5s ease-out 0.15s both;
}

/* Tab Content */
.idee-intro-section{
    animation: fadeUp 0.4s ease-out 0.25s both;
}

/* Problem & Opportunity */
.idee-section:nth-child(1){ animation: fadeUp 0.4s ease-out 0.3s both; }
.idee-section:nth-child(2){ animation: fadeUp 0.4s ease-out 0.4s both; }

/* Tabs */
.idee-tabs{
    animation: fadeUp 0.3s ease-out 0.35s both;
}

/* Tab panels */
.idee-tab-panel{
    animation: fadeUp 0.3s ease-out both;
}

/* Secret Sauce items */
.idee-usp-list li:nth-child(1){ animation: fadeUp 0.3s ease-out 0.1s both; }
.idee-usp-list li:nth-child(2){ animation: fadeUp 0.3s ease-out 0.15s both; }
.idee-usp-list li:nth-child(3){ animation: fadeUp 0.3s ease-out 0.2s both; }
.idee-usp-list li:nth-child(4){ animation: fadeUp 0.3s ease-out 0.25s both; }
.idee-usp-list li:nth-child(5){ animation: fadeUp 0.3s ease-out 0.3s both; }

/* Financial cards */
.idee-investment-card{ animation: scaleIn 0.4s ease-out 0.1s both; }
.idee-roi-card{ animation: scaleIn 0.4s ease-out 0.2s both; }
.idee-financial-item:nth-child(1){ animation: fadeUp 0.3s ease-out 0.25s both; }
.idee-financial-item:nth-child(2){ animation: fadeUp 0.3s ease-out 0.3s both; }
.idee-financial-item:nth-child(3){ animation: fadeUp 0.3s ease-out 0.35s both; }

/* Timeline items */
.idee-timeline-item:nth-child(1){ animation: fadeUp 0.3s ease-out 0.1s both; }
.idee-timeline-item:nth-child(2){ animation: fadeUp 0.3s ease-out 0.2s both; }
.idee-timeline-item:nth-child(3){ animation: fadeUp 0.3s ease-out 0.3s both; }
.idee-timeline-item:nth-child(4){ animation: fadeUp 0.3s ease-out 0.4s both; }
.idee-timeline-item:nth-child(5){ animation: fadeUp 0.3s ease-out 0.5s both; }
.idee-timeline-item:nth-child(6){ animation: fadeUp 0.3s ease-out 0.6s both; }

/* Archives items */
.idee-archive-item:nth-child(1){ animation: fadeUp 0.3s ease-out 0.3s both; }
.idee-archive-item:nth-child(2){ animation: fadeUp 0.3s ease-out 0.35s both; }
.idee-archive-item:nth-child(3){ animation: fadeUp 0.3s ease-out 0.4s both; }
.idee-archive-item:nth-child(4){ animation: fadeUp 0.3s ease-out 0.45s both; }
.idee-archive-item:nth-child(5){ animation: fadeUp 0.3s ease-out 0.5s both; }

/* Validation bars */
.idee-progress-fill{
    animation: progressFill 0.8s ease-out 0.4s both;
}

@keyframes progressFill {
    from { width: 0%; }
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — Mobile & Tablet (max-width: 768px)
   ═══════════════════════════════════════════════════ */

@media (max-width: 768px){
    .idee-main-content{
        flex-direction: column-reverse;
    }

    .idee-tab-container,
    .idee-top{
        width: 100%;
    }

    .idee-problem-opportunity{
        flex-direction: column;
    }

    .idee-section-separator{
        width: 100%;
        height: 1px;
    }

    .idee-investment-roi-cards{
        flex-direction: column;
    }

    .idee-title{
        font-size: 18px;
    }

    .idee-metadata{
        flex-wrap: wrap;
    }

    .idee-tabs{
        height: auto;
        flex-wrap: wrap;
    }

    .idee-tab{
        width: auto;
        flex: 1;
        font-size: 11px;
        padding: 8px 4px;
    }

    .share-social-buttons{
        flex-wrap: wrap;
    }

    .share-social-button{
        flex: 1 1 calc(50% - 5px);
    }

    .share-social-button span{
        display: none;
    }

    .idee-timeline{
        padding-left: 24px;
    }

    .idee-tab-content{
        padding: 15px;
    }

    .idee-du-jour-card{
        height: 120px;
    }

    .archives-idj-hero-content{
        flex-direction: column;
        align-items: flex-start;
    }

    .archives-idj-hero-stats{
        width: 100%;
    }

    .archives-idj-stat{ flex: 1; }

    .archives-idj-filters{
        flex-direction: column;
        align-items: flex-start;
    }

    .archives-idj-filter-pills{
        overflow-x: auto;
        flex-wrap: nowrap;
        width: 100%;
    }

    .archives-idj-grid{
        grid-template-columns: 1fr;
    }

    .archives-idj-card-image{
        height: 120px;
    }
}
/* ========================================
   Structure Registration Styles
   ======================================== */

/* Step Indicator */
.structure-steps-indicator {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0 40px;
  margin-bottom: 10px;
  width: 100%;
}

.structure-step-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.structure-step-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.structure-step-item.upcoming .structure-step-circle {
  background: #F6F7F8;
  color: #6E7F93;
  border: 1px solid #DFE5EC;
}

.structure-step-item.active .structure-step-circle {
  background: #0A58A5;
  color: #FFF;
  border: 1px solid #0A58A5;
}

.structure-step-item.completed .structure-step-circle {
  background: #E8F5E9;
  color: #2E7D32;
  border: 1px solid #2E7D32;
}

.structure-step-label {
  color: #6E7F93;
  font-size: 13px;
  font-weight: 500;
  line-height: 18px;
  white-space: nowrap;
}

.structure-step-item.active .structure-step-label {
  color: #0A58A5;
  font-weight: 700;
}

.structure-step-item.completed .structure-step-label {
  color: #2E7D32;
  font-weight: 600;
}

.structure-step-line {
  width: 40px;
  height: 2px;
  background: #DFE5EC;
  margin: 0 8px;
  flex-shrink: 0;
  transition: background 0.3s ease;
}

.structure-step-item.completed + .structure-step-line,
.structure-step-line.completed {
  background: #2E7D32;
}

/* Structure Form Content */
.structure-form-content {
  padding: 30px 40px;
}

.structure-form-title {
  color: #0F172B;
  font-size: 22px;
  font-weight: 800;
  line-height: 28px;
  margin: 0 0 4px 0;
}

.structure-form-subtitle {
  color: #6E7F93;
  font-size: 14px;
  font-weight: 500;
  line-height: 22px;
  margin: 0 0 24px 0;
}

/* Form Row (side-by-side fields) */
.form-row {
  display: flex;
  gap: 16px;
}

.form-row .form-group {
  flex: 1;
}

/* Form Help Text */
.form-help-text {
  color: #6E7F93;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
  margin-top: 4px;
}

/* Navigation Buttons */
.structure-nav-buttons {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 40px;
  border-top: 1px solid #DFE5EC;
}

.structure-back-button {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: 1px solid #DFE5EC;
  border-radius: 12px;
  padding: 10px 20px;
  color: #45556C;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease;
}

.structure-back-button:hover {
  background: #F6F7F8;
  border-color: #C5CDD8;
}

.structure-next-button {
  border-radius: 12px;
  background: #0A58A5;
  color: #FFF;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  padding: 12px 32px;
  border: none;
  cursor: pointer;
  transition: background 0.2s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.structure-next-button:hover {
  background: #084A8A;
}

.structure-next-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Team Members Section */
.team-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.team-section-title {
  color: #0F172B;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.team-member-count {
  background: #F0F7FF;
  color: #0A58A5;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 20px;
}

.add-member-form {
  background: #F6F7F8;
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 20px;
}

.add-member-form .form-group {
  margin-bottom: 12px;
}

.add-member-form .form-label {
  font-size: 13px;
}

.add-member-button {
  width: 100%;
  padding: 10px;
  border-radius: 10px;
  background: #0A58A5;
  color: #FFF;
  font-size: 14px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background 0.2s ease;
}

.add-member-button:hover {
  background: #084A8A;
}

/* Member Item */
.member-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid #E2E8F0;
  background: #FFF;
  margin-bottom: 10px;
  transition: all 0.2s ease;
}

.member-item:hover {
  border-color: #C5CDD8;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}

.member-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0A58A5, #1976D2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.member-avatar span {
  color: #FFF;
  font-size: 14px;
  font-weight: 700;
}

.member-info {
  flex: 1;
  min-width: 0;
}

.member-name {
  color: #0F172B;
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  display: block;
}

.member-role {
  color: #0A58A5;
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
  display: block;
}

.member-contact {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 4px;
}

.member-contact span {
  font-size: 12px;
  color: #6E7F93;
}

.member-contact i {
  margin-right: 4px;
  font-size: 11px;
}

.member-actions {
  flex-shrink: 0;
}

.remove-member-button {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid #E2E8F0;
  background: #FFF;
  color: #6E7F93;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  text-decoration: none;
}

.remove-member-button:hover {
  background: #FEE2E2;
  border-color: #FCA5A5;
  color: #DC2626;
}

.members-empty {
  text-align: center;
  color: #6E7F93;
  padding: 24px;
  font-size: 14px;
  background: #F6F7F8;
  border-radius: 12px;
}

.members-list {
  max-height: 300px;
  overflow-y: auto;
}

/* Recap Section */
.recap-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.recap-card {
  border-radius: 16px;
  border: 1px solid #E2E8F0;
  background: #FFF;
  overflow: hidden;
}

.recap-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  background: #F8FAFC;
  border-bottom: 1px solid #E2E8F0;
}

.recap-card-title {
  color: #0F172B;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
}

.recap-card-title i {
  color: #0A58A5;
  font-size: 14px;
}

.recap-edit-link {
  color: #0A58A5;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 4px;
}

.recap-edit-link:hover {
  text-decoration: underline;
}

.recap-card-body {
  padding: 16px 20px;
}

.recap-row {
  display: flex;
  align-items: flex-start;
  padding: 8px 0;
  border-bottom: 1px solid #F1F5F9;
}

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

.recap-label {
  color: #6E7F93;
  font-size: 13px;
  font-weight: 500;
  width: 140px;
  flex-shrink: 0;
}

.recap-value {
  color: #0F172B;
  font-size: 13px;
  font-weight: 600;
  flex: 1;
}

.recap-members-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.recap-members-list li {
  color: #45556C;
  font-size: 13px;
  padding: 4px 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.recap-members-list li::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0A58A5;
  flex-shrink: 0;
}

/* Finalize Button */
.structure-finalize-button {
  width: 100%;
  border-radius: 15px;
  background: #0A58A5;
  color: #FFF;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  height: 48px;
  border: none;
  cursor: pointer;
  transition: background 0.2s ease;
}

.structure-finalize-button:hover {
  background: #084A8A;
}

/* Responsive */
@media (max-width: 768px) {
  .structure-steps-indicator {
    padding: 0 16px;
    gap: 0;
  }

  .structure-step-label {
    display: none;
  }

  .structure-step-line {
    width: 24px;
  }

  .structure-form-content {
    padding: 20px;
  }

  .form-row {
    flex-direction: column;
    gap: 0;
  }

  .structure-nav-buttons {
    padding: 16px 20px;
  }

  .structure-back-button {
    padding: 10px 16px;
    font-size: 13px;
  }

  .structure-next-button {
    padding: 10px 24px;
    font-size: 13px;
  }

  .recap-row {
    flex-direction: column;
    gap: 4px;
  }

  .recap-label {
    width: auto;
  }

  .add-member-form {
    padding: 16px;
  }
}
/* ========== Admin Login ========== */

.admin-login-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0F172B 0%, #1e293b 50%, #334155 100%);
  padding: 2rem;
}

.admin-login-card {
  width: 100%;
  max-width: 420px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  padding: 2.5rem;
}

.admin-login-header {
  text-align: center;
  margin-bottom: 2rem;
}

.admin-login-logo {
  margin-bottom: 1.25rem;
}

.admin-login-logo img {
  height: 48px;
  width: auto;
}

.admin-login-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #0F172B;
  margin: 0 0 0.5rem;
}

.admin-login-subtitle {
  font-size: 0.9rem;
  color: #64748b;
  margin: 0;
}

.admin-login-form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.admin-form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.admin-form-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #334155;
}

.admin-form-input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  font-size: 1rem;
  color: #0F172B;
  background: #f8fafc;
  box-sizing: border-box;
  transition: border-color 0.2s, background 0.2s;
}

.admin-form-input:focus {
  outline: none;
  border-color: #0A58A5;
  background: #fff;
}

.admin-form-input::placeholder {
  color: #94a3b8;
}

.admin-login-submit {
  margin-top: 0.5rem;
  width: 100%;
  padding: 0.875rem 1.25rem;
  background: #0A58A5;
  color: #fff;
  border: none;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: background 0.2s;
}

.admin-login-submit:hover {
  background: #084a8f;
}

.admin-login-footer {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e2e8f0;
  text-align: center;
}

.admin-login-back {
  font-size: 0.9rem;
  color: #64748b;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: color 0.2s;
}

.admin-login-back:hover {
  color: #0A58A5;
}

/* ========== Admin Dashboard (index) ========== */

.admin-main{
  display: flex;
  align-items: start;
  justify-content: start;
}

.admin-content{
  width: 100%;
}

/* ========== Admin Sidebar ========== */

.admin-sidebar{
  width: 350px;
  height: 100%;
  background-color: #fff;
  border-right: 1px solid #e2e8f0;
  border-right: 1px solid #1E2939;
  background: #1A2333;
  display: flex;
  flex-direction: column;
}

.admin-sidebar-header{
  padding: 20px;
}

.admin-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid #E6EAF0;
  background: #FFF;
  height: 85px;
}

.search-content{
  border-radius: 16777200px;
  border: 1px solid #E5E7EB;
  background: #F9FAFB;
  width: 448px;
  height: 36px;
  padding: 4px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.search-content input{
  border: none;
  background: transparent;
  width: 100%;
  height: 100%;
  outline: none;
  font-size: 14px;
  color: #64748B;
}

.admin-header-right{
  display: flex;
  align-items: center;
  gap: 30px;
}

.user-content{
  display: flex;
  border-radius: 16777200px;
  border: 1px solid #E5E7EB;
  padding: 6px 17px 6px 9px;
  align-items: center;
  gap: 10px;
}

.user-content img{
  width: 30px;
  height: 30px;
}

.user-content span{
  color: #364153;
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 142.857% */
}

.notifications-content{
  position: relative;
}

.notifications-content span{
  color: #fff;
  text-align: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 142.857% */
  position: absolute;
  top: -10px;
    right: -8px;
  background-color: #FC121B;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.admin-content-inner{
  padding: 20px;
  overflow: scroll;
  height: calc(100vh - 85px);
}

.admin-activities-table-actor{
  display: flex;
  gap: 10px;
  flex-direction: column;
}

.admin-activities-table-actor span:first-child{
  color: #0F172B;
  font-family: "Open Sans";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 142.857% */
}

.admin-activities-table-actor span:last-child{
  color: #62748E;
  font-family: "Open Sans";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px; /* 133.333% */
}

.admin-dashboard-title{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.admin-dashboard-title h1{
  color: #223245;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 32px; /* 133.333% */
}

.admin-dashboard-title a{
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #fff;
  background: #0A58A5;
  padding: 10px 20px;
  border-radius: 14px;
  font-size: 14px;
}

.admin-dashboard-title button{
  border-radius: 14px;
  border: 1px solid #DFE5EC;
  background: #F0F0F8;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.admin-dashboard-title button span{
  color: #223245;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 142.857% */
}

/* ========== Period Filter Dropdown ========== */
.admin-dashboard-title-actions{
  display: flex;
  align-items: center;
  gap: 12px;
}

.admin-title-btn-secondary {
  background: #F0F0F8 !important;
  color: #223245 !important;
  border: 1px solid #DFE5EC;
}

.admin-export-btn{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 14px;
  border: 1px solid #DFE5EC;
  background: #0A58A5;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s;
}

.admin-export-btn:hover{
  background: #084a8f;
}

.admin-export-btn i{
  font-size: 14px;
}

.admin-period-filter{
  position: relative;
}

.admin-period-filter-btn{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 14px;
  border: 1px solid #DFE5EC;
  background: #fff;
  cursor: pointer;
  font-size: 14px;
  color: #445972;
  transition: border-color 0.2s, background 0.2s;
}

.admin-period-filter-btn:hover{
  border-color: #0A58A5;
  background: #F0F4FF;
}

.admin-period-filter-btn i:first-child{
  color: #0A58A5;
  font-size: 14px;
}

.admin-period-filter-arrow{
  font-size: 10px;
  color: #94A3B8;
  transition: transform 0.2s;
}

.admin-period-filter-menu.open .admin-period-filter-arrow{
  transform: rotate(180deg);
}

.admin-period-filter-menu{
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  min-width: 200px;
  padding: 6px;
  z-index: 100;
}

.admin-period-filter-menu.open{
  display: flex;
  flex-direction: column;
}

.admin-period-filter-option{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 14px;
  color: #445972;
  text-decoration: none;
  transition: background 0.15s;
  background: transparent !important;
  color: #0F172B !important;
}

.admin-period-filter-option:hover{
  background: #F0F4FF;
  color: #0A58A5;
}

.admin-period-filter-option.active{
  background: #EFF6FF !important;
  color: #0A58A5 !important;
  font-weight: 600;
}

.admin-period-filter-option i{
  font-size: 11px;
  color: #0A58A5;
}

.admin-dashboard-metrics{
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.admin-dashboard-metric{
  border-radius: 20px;
  border: 1px solid #E5E7EB;
  background: #FFF;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
  padding: 20px;
  width: 25%;
}

.admin-dashboard-metric-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.admin-dashboard-metric-header h2{
  color: #6A7282;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 142.857% */
}

.admin-dashboard-metric-content{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

.admin-dashboard-metric-content h3{
  color: #223245;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 32px; /* 133.333% */
}

.admin-dashboard-metric-content-arrow span{
  color: #096;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px; /* 133.333% */
}

.admin-dashboard-graphs{
  margin-top: 20px;
  display: flex;
  align-items: center;
  gap: 20px;
}

.croissance-graph{
  width: 65%;
  border-radius: 20px;
  border: 1px solid #E2E8F0;
  background: #FFF;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
  padding: 20px;
}

/* Conteneur à hauteur fixe pour éviter l'expansion infinie des graphiques Chart.js */
.admin-chart-container {
  position: relative;
  height: 280px;
  width: 100%;
}

.projects-graph{
  width: 35%;
  border-radius: 20px;
  border: 1px solid #E2E8F0;
  background: #FFF;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
  padding: 20px;
}

.admin-chart-container{
  margin-top: 20px;
}

.admin-dashboard-graphs h2{
  color: #1D293D;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 28px; /* 155.556% */
}

.admin-dashboard-graphs p{
  color: #6E7F93;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 150% */
}

/* Tableau des activités récentes */
.admin-activities-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin-top: 20px;
}

.admin-activities-table th,
.admin-activities-table td {
  padding: 10px 12px;
  text-align: left;
  border-bottom: 1px solid #E2E8F0;
}

.admin-activities-table th {
  color: #6E7F93;
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.admin-activities-table td {
  color: #1D293D;
}

.admin-activities-empty {
  color: #6E7F93;
  font-style: italic;
  text-align: center;
  padding: 20px !important;
}

.admin-activities-table-container{
  align-items: stretch;
}

.admin-activities-table-actor-project-name{
  color: #62748E;
  font-size: 12px;
  font-style: italic !important;
  font-weight: 400;
  line-height: 16px; /* 133.333% */
}

.admin-activities-table-actor-action{
  font-size: 14px !important;
  color: #314158 !important;

}

.admin-activities-table-date{
  color: #62748E !important;
  font-family: "Open Sans";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 142.857% */
}

.admin-sidebar-content{
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 25px;
  flex: 1;
  overflow-y: auto;
  min-height: 0;
}

/* Sidebar profile block */
.admin-sidebar-profile{
  padding: 16px 20px;
  border-top: 1px solid rgba(255,255,255,0.1);
  margin-top: auto;
}

.admin-sidebar-profile-info{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.admin-sidebar-profile-avatar{
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(255,255,255,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 14px;
  flex-shrink: 0;
}

.admin-sidebar-profile-details{
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow: hidden;
}

.admin-sidebar-profile-name{
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-sidebar-profile-role{
  color: #62748E;
  font-size: 12px;
}

.admin-sidebar-profile-btn{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.admin-sidebar-profile-arrow{
  color: #62748E;
  font-size: 12px;
  transition: transform 0.2s;
}

.admin-sidebar-dropdown{
  display: none;
  flex-direction: column;
  background: #253044;
  border-radius: 10px;
  padding: 6px;
  margin-top: 10px;
}

.admin-sidebar-dropdown.show{
  display: flex;
}

.admin-sidebar-dropdown-item{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  color: #C8D1DB;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  border: none;
  background: none;
  cursor: pointer;
  transition: background 0.2s;
}

.admin-sidebar-dropdown-item:hover{
  background: rgba(255,255,255,0.08);
  color: #fff;
}

.admin-sidebar-dropdown-item i{
  width: 16px;
  text-align: center;
  font-size: 13px;
}

.admin-sidebar-dropdown-divider{
  height: 1px;
  background: rgba(255,255,255,0.08);
  margin: 4px 0;
}

.admin-sidebar-dropdown-logout{
  color: #DC2626;
}

.admin-sidebar-dropdown-logout:hover{
  background: rgba(220, 38, 38, 0.15);
  color: #DC2626;
}

.admin-sidebar-content a{
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #62748E;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 142.857% */
  transition: color 0.2s;
}

.admin-sidebar-content a:hover{
  color: #C8D1DB;
}

.admin-sidebar-content > a.active{
  color: #fff;
  font-weight: 600;
}

/* ========== Sidebar Settings Dropdown ========== */

.admin-sidebar-settings{
  margin-top: 4px;
}

.admin-sidebar-settings-toggle{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  color: #62748E;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  transition: color 0.2s;
}

.admin-sidebar-settings-toggle:hover{
  color: #fff;
}

.admin-sidebar-settings-toggle.active{
  color: #fff;
}

.admin-sidebar-settings-left{
  display: flex;
  align-items: center;
  gap: 10px;
}

.admin-sidebar-settings-arrow{
  font-size: 11px;
  transition: transform 0.25s ease;
}

.admin-sidebar-settings-arrow.open{
  transform: rotate(180deg);
}

.admin-sidebar-settings-menu{
  display: none;
  flex-direction: column;
  gap: 2px;
  margin-top: 10px;
  padding-left: 10px;
}

.admin-sidebar-settings-menu.open{
  display: flex;
}

.admin-sidebar-settings-item{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 13px;
  color: #62748E !important;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}

.admin-sidebar-settings-item:hover{
  background: rgba(255,255,255,0.06);
  color: #C8D1DB !important;
}

.admin-sidebar-settings-item.active{
  background: rgba(10, 88, 165, 0.15);
  color: #60A5FA !important;
  font-weight: 600;
}

.admin-sidebar-settings-item i{
  width: 16px;
  text-align: center;
  font-size: 12px;
}

.admin-users-header{
  border-radius: 20px;
  border: 1px solid #E5E7EB;
  background: #FFF;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.10), 0 1px 2px -1px rgba(0, 0, 0, 0.10);
  padding: 16px 20px;
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.admin-users-search-form{
  display: flex;
  align-items: center;
}

.admin-users-header-right-filters{
  display: flex;
  align-items: center;
  gap: 10px;
}

.admin-filter-dropdown{
  position: relative;
}

.admin-filter-dropdown-btn{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 10px;
  border: 1px solid #E2E8F0;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  color: #445972;
  white-space: nowrap;
  transition: border-color 0.2s, background 0.2s;
}

.admin-filter-dropdown-btn:hover{
  border-color: #0A58A5;
  background: #F8FAFF;
}

.admin-filter-dropdown-btn i:first-child{
  color: #6E7F93;
  font-size: 13px;
}

.admin-filter-dropdown-arrow{
  font-size: 9px;
  color: #94A3B8;
  transition: transform 0.2s;
}

.admin-filter-dropdown .admin-period-filter-menu{
  min-width: 180px;
}

.admin-pagination{
  margin-top: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
}

.admin-pagination-info{
  color: #62748E;
}

.admin-pagination-links{
  display: flex;
  align-items: center;
  gap: 8px;
}

.admin-pagination-link{
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid #E5E7EB;
  background: #FFF;
  color: #314158;
  text-decoration: none;
  font-size: 13px;
}

.admin-pagination-link:hover{
  background: #F3F4F6;
}

.admin-pagination-link-disabled{
  opacity: 0.5;
  cursor: default;
  pointer-events: none;
}

.admin-users-table{
  border-radius: 16px;
  border: 1px solid #E5E7EB;
  background: #FFF;
  margin-top: 20px;
  overflow: visible;
}

.admin-users-table table{
  width: 100%;
}

.admin-users-table-user-name, .admin-users-table-user-role{
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.admin-users-table-user-name span:first-child, .admin-users-table-user-role span:first-child{
  color: #0F172B;
  font-family: "Open Sans";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 142.857% */
}

.admin-users-table-user-name span:last-child, .admin-users-table-user-role span:last-child{
  color: #62748E;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px; /* 133.333% */
}

/* ========== Badges Statut ========== */
.admin-badge-confirmed{
  color: #14A44D;
  background: #E8F8EF;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
}

.admin-badge-unconfirmed{
  color: #FC121B;
  background: #FEE9EA;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
}

.admin-badge-locked{
  color: #FFF;
  background: #6E7F93;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.admin-badge-locked i{
  font-size: 10px;
}

/* ========== Actions Ellipsis Dropdown ========== */
.admin-actions-cell{
  position: relative;
  width: 50px;
  text-align: center;
}

.admin-actions-dropdown{
  position: relative;
  display: inline-block;
}

.admin-actions-ellipsis{
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  color: #6E7F93;
  font-size: 14px;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.admin-actions-ellipsis:hover{
  background: #F3F4F6;
  color: #0A58A5;
  border-color: #CBD5E1;
}

.admin-actions-menu{
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.06);
  min-width: 245px;
  padding: 6px;
  z-index: 200;
}

.admin-actions-menu.open{
  display: flex;
  flex-direction: column;
}

.admin-actions-menu-item{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  color: #334155;
  text-decoration: none;
  transition: background 0.15s;
}

.admin-actions-menu-item:hover{
  background: #F0F4FF;
  color: #0A58A5;
}

.admin-actions-menu-item i{
  width: 16px;
  text-align: center;
  font-size: 13px;
  color: #6E7F93;
}

.admin-actions-menu-item:hover i{
  color: #0A58A5;
}

.admin-actions-menu-divider{
  height: 1px;
  background: #F1F5F9;
  margin: 4px 6px;
}

.admin-actions-menu-item-danger{
  color: #DC2626;
}

.admin-actions-menu-item-danger i{
  color: #DC2626;
}

.admin-actions-menu-item-danger:hover{
  background: rgba(220, 38, 38, 0.06);
  color: #DC2626;
}

.admin-actions-menu-item-danger:hover i{
  color: #DC2626;
}

.admin-credits-badge{
  display: inline-block;
  padding: 2px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
}

.admin-credits-badge.positive{
  background: rgba(20, 164, 77, 0.08);
  color: #14A44D;
}

.admin-credits-badge.zero{
  background: rgba(110, 127, 147, 0.08);
  color: #6E7F93;
}

/* Progression projet */
.admin-progress-cell{
  min-width: 160px;
}

.admin-progress-label{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}

.admin-progress-step{
  font-size: 12px;
  color: #445972;
  font-weight: 500;
}

.admin-progress-percent{
  font-size: 12px;
  color: #6E7F93;
  font-weight: 600;
}

.admin-progress-bar{
  width: 100%;
  height: 6px;
  background: #E8ECF0;
  border-radius: 3px;
  overflow: hidden;
}

.admin-progress-fill{
  height: 100%;
  background: #0A58A5;
  border-radius: 3px;
  transition: width 0.3s ease;
}

/* Finance detail spans inside metric cards */
.admin-finance-detail{
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.admin-finance-detail span{
  color: #6E7F93;
  font-size: 12px;
  line-height: 16px;
}

.admin-metric-icon{
  font-size: 20px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #F3F4F6;
}

/* Transaction type badge */
.admin-transaction-type{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: 6px;
}

.admin-transaction-type.credit{
  color: #14A44D;
  background: rgba(20, 164, 77, 0.08);
}

.admin-transaction-type.debit{
  color: #DC2626;
  background: rgba(220, 38, 38, 0.08);
}

/* Transaction status badge */
.admin-transaction-status{
  display: inline-block;
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
}

.admin-transaction-status.success{
  color: #14A44D;
  background: rgba(20, 164, 77, 0.08);
}

.admin-transaction-status.pending{
  color: #F59E0B;
  background: rgba(245, 158, 11, 0.08);
}

.admin-transaction-status.failed{
  color: #DC2626;
  background: rgba(220, 38, 38, 0.08);
}

.admin-transaction-status.blocked{
  color: #7C3AED;
  background: rgba(124, 58, 237, 0.08);
}

/* Audit severity badge */
.admin-audit-severity{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 500;
  padding: 3px 10px;
  border-radius: 6px;
}

.admin-audit-severity.info{
  color: #0A58A5;
  background: rgba(10, 88, 165, 0.08);
}

.admin-audit-severity.warning{
  color: #F59E0B;
  background: rgba(245, 158, 11, 0.08);
}

.admin-audit-severity.critical{
  color: #DC2626;
  background: rgba(220, 38, 38, 0.08);
}

/* Table action button */
.admin-table-action-btn{
  border: 1px solid #E5E7EB;
  background: #FFF;
  border-radius: 8px;
  padding: 6px 10px;
  cursor: pointer;
  color: #6E7F93;
  transition: background 0.2s;
}

.admin-table-action-btn:hover{
  background: #F3F4F6;
  color: #0A58A5;
}

/* ========== Analytics Tabs ========== */
.admin-analytics-tabs{
  display: flex;
  gap: 4px;
  background: #F3F4F6;
  border-radius: 10px;
  padding: 3px;
  margin-top: 8px;
  margin-bottom: 20px;
  max-width: 480px;
}

.admin-analytics-tab{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 7px 12px;
  border: none;
  background: transparent;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 500;
  color: #6E7F93;
  cursor: pointer;
  transition: all 0.2s;
}

.admin-analytics-tab:hover{
  color: #445972;
  background: rgba(255,255,255,0.5);
}

.admin-analytics-tab.active{
  background: #fff;
  color: #0A58A5;
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

.admin-analytics-panel{
  display: none;
}

.admin-analytics-panel.active{
  display: block;
}

/* ========== Geo Distribution ========== */
.admin-geo-list{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
  max-height: 420px;
  overflow-y: auto;
  padding-right: 4px;
}

.admin-geo-item-header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.admin-geo-region{
  font-size: 14px;
  font-weight: 500;
  color: #1A2333;
}

.admin-geo-stats{
  font-size: 13px;
  color: #6E7F93;
  font-weight: 500;
}

.admin-geo-bar-bg{
  width: 100%;
  height: 8px;
  background: #F3F4F6;
  border-radius: 4px;
  overflow: hidden;
}

.admin-geo-bar-fill{
  height: 100%;
  background: linear-gradient(90deg, #0A58A5, #3B82F6);
  border-radius: 4px;
  min-width: 2px;
  transition: width 0.4s ease;
}

/* ========== Types de comptes ========== */
.admin-type-list{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
}

.admin-type-item{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: #F9FAFB;
  border-radius: 10px;
  border: 1px solid #F3F4F6;
}

.admin-type-item-total{
  border: 1px dashed #D1D5DB;
  background: #fff;
}

.admin-type-item-icon{
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}

.admin-type-item-info{
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.admin-type-item-label{
  font-size: 13px;
  color: #6E7F93;
  font-weight: 500;
}

.admin-type-item-count{
  font-size: 20px;
  font-weight: 700;
  color: #1A2333;
}

/* ========== Engagement full-width + metrics ========== */
.admin-engagement-full{
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  border: 1px solid #E5E7EB;
  margin-top: 24px;
  margin-bottom: 24px;
}

.admin-engagement-full h2{
  font-size: 16px;
  font-weight: 600;
  color: #1A2333;
  margin: 0 0 4px;
}

.admin-engagement-full p{
  font-size: 13px;
  color: #6E7F93;
  margin: 0 0 16px;
}

.admin-engagement-metrics{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.admin-engagement-metrics .admin-dashboard-metric{
  min-height: 140px;
  padding: 24px;
  width: 100%;
}

/* ========== Top Incubateurs ========== */
.admin-top-incubateurs p{
  color: #6E7F93;
  font-size: 13px;
  margin: 2px 0 0;
}

.admin-top-incubateurs-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 16px;
}

.admin-top-incubateur-item{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: #F9FAFB;
  border-radius: 12px;
  border: 1px solid #F3F4F6;
  transition: background 0.2s, border-color 0.2s;
}

.admin-top-incubateur-item:hover{
  background: #F0F4FF;
  border-color: #D6E4F0;
}

.admin-top-incubateur-rank{
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  flex-shrink: 0;
  background: #F3F4F6;
  color: #6E7F93;
}

.admin-top-incubateur-rank.rank-1{
  background: linear-gradient(135deg, #F59E0B, #D97706);
  color: #fff;
}

.admin-top-incubateur-rank.rank-2{
  background: linear-gradient(135deg, #94A3B8, #64748B);
  color: #fff;
}

.admin-top-incubateur-rank.rank-3{
  background: linear-gradient(135deg, #CD7F32, #A0522D);
  color: #fff;
}

.admin-top-incubateur-info{
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.admin-top-incubateur-name{
  font-size: 14px;
  font-weight: 600;
  color: #1A2333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-top-incubateur-type{
  font-size: 11px;
  color: #6E7F93;
  text-transform: capitalize;
}

.admin-top-incubateur-stats{
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

.admin-top-incubateur-stat{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
}

.admin-top-incubateur-stat-value{
  font-size: 16px;
  font-weight: 700;
  color: #0A58A5;
}

.admin-top-incubateur-stat-label{
  font-size: 10px;
  color: #6E7F93;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.admin-top-incubateur-empty{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 40px 20px;
  color: #94A3B8;
  font-size: 14px;
}

.admin-top-incubateur-empty i{
  font-size: 28px;
  color: #CBD5E1;
}

/* ========== Admin User Show (profil) ========== */
.admin-back-link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #6E7F93;
  text-decoration: none;
  transition: color 0.2s;
}

.admin-user-show{
  margin-top: 20px;
}

.admin-user-show-header{
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px;
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 16px;
}

.admin-user-show-avatar{
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: linear-gradient(135deg, #0A58A5, #3B82F6);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 700;
  flex-shrink: 0;
}

.admin-user-show-identity{
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.admin-user-show-identity h1{
  font-size: 22px;
  font-weight: 700;
  color: #1A2333;
  margin: 0;
  line-height: 1.2;
}

.admin-user-show-email{
  font-size: 14px;
  color: #6E7F93;
}

.admin-user-show-badges{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  flex-wrap: wrap;
}

.admin-user-show-role-badge{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  background: rgba(10, 88, 165, 0.08);
  color: #0A58A5;
}

.admin-user-show-status-badge{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
}

.admin-user-show-status-badge.confirmed{
  background: rgba(20, 164, 77, 0.08);
  color: #14A44D;
}

.admin-user-show-status-badge.unconfirmed{
  background: rgba(220, 38, 38, 0.08);
  color: #DC2626;
}

.admin-user-show-status-badge.locked{
  background: rgba(124, 58, 237, 0.08);
  color: #7C3AED;
}

.admin-user-show-status-badge.admin-badge{
  background: rgba(245, 158, 11, 0.08);
  color: #D97706;
}

/* Métriques user show */
.admin-user-show-metrics{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 20px;
  margin-bottom: 24px;
}

.admin-user-show-metric-card{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px;
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
}

.admin-user-show-metric-icon{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}

.admin-user-show-metric-info{
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.admin-user-show-metric-value{
  font-size: 22px;
  font-weight: 700;
  color: #1A2333;
}

.admin-user-show-metric-label{
  font-size: 13px;
  color: #6E7F93;
  font-weight: 500;
}

/* Grille infos */
.admin-user-show-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 20px;
}

.admin-user-show-card{
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  padding: 24px;
  height: fit-content;
}

.admin-user-show-card + .admin-user-show-card{
  margin-top: 20px;
}

.admin-user-show-card h2{
  font-size: 16px;
  font-weight: 600;
  color: #1A2333;
  margin: 0 0 16px;
}

.admin-user-show-full{
  margin-top: 20px;
}

.admin-user-show-info-list{
  display: flex;
  flex-direction: column;
}

.admin-user-show-info-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid #F3F4F6;
}

.admin-user-show-info-row:last-child{
  border-bottom: none;
}

.admin-user-show-info-label{
  font-size: 13px;
  color: #6E7F93;
  font-weight: 500;
}

.admin-user-show-info-value{
  font-size: 14px;
  color: #1A2333;
  font-weight: 500;
  text-align: right;
}

.admin-user-show-empty{
  color: #94A3B8;
  font-size: 14px;
  font-style: italic;
  text-align: center;
  padding: 24px;
}

.admin-user-show-card .admin-activities-table{
  margin-top: 0;
}

.admin-user-show-card code{
  background: #F3F4F6;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 12px;
  color: #445972;
}

/* ========== Admin User Edit Form ========== */
.admin-edit-fields{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.admin-edit-field{
  display: flex;
  flex-direction: column;
  gap: 6px;
}

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

.admin-edit-field label{
  font-size: 13px;
  font-weight: 600;
  color: #445972;
}

.admin-edit-input{
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  font-size: 14px;
  color: #1A2333;
  background: #F9FAFB;
  box-sizing: border-box;
  transition: border-color 0.2s, background 0.2s;
}

.admin-edit-input:focus{
  outline: none;
  border-color: #0A58A5;
  background: #fff;
}

.admin-edit-textarea{
  resize: vertical;
  min-height: 80px;
}

.admin-checkbox-label{
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 14px;
  color: #223245;
  font-weight: 500;
}

.admin-checkbox{
  width: 18px;
  height: 18px;
  accent-color: #0A58A5;
  cursor: pointer;
}

.admin-checkbox-label i{
  color: #0A58A5;
  font-size: 14px;
}

.admin-edit-actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #E5E7EB;
}

.admin-edit-cancel{
  padding: 10px 24px;
  border-radius: 10px;
  border: 1px solid #E2E8F0;
  background: #fff;
  color: #445972;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.2s;
}

.admin-edit-cancel:hover{
  background: #F3F4F6;
}

.admin-edit-submit{
  padding: 10px 24px;
  border-radius: 10px;
  border: none;
  background: #0A58A5;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s;
}

.admin-edit-submit:hover{
  background: #084a8f;
}

/* ========== Admin Modal ========== */
.admin-modal-overlay{
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 43, 0.5);
  backdrop-filter: blur(4px);
  z-index: 1000;
  align-items: center;
  justify-content: center;
}

.admin-modal-overlay.open{
  display: flex;
}

.admin-modal{
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  width: 100%;
  max-width: 440px;
  overflow: hidden;
}

.admin-modal-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #F1F5F9;
}

.admin-modal-header h2{
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 600;
  color: #1A2333;
  margin: 0;
}

.admin-modal-header h2 i{
  color: #0A58A5;
}

.admin-modal-close{
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: #F3F4F6;
  border-radius: 8px;
  color: #6E7F93;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.admin-modal-close:hover{
  background: #E5E7EB;
  color: #1A2333;
}

.admin-modal-body{
  padding: 24px;
}

.admin-modal-body p{
  font-size: 14px;
  color: #445972;
  margin: 0 0 20px;
}

.admin-modal-actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 24px;
}

/* ========== Settings Tabs ========== */

.admin-settings-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid #E5E9F0;
  margin-bottom: 24px;
}

.admin-settings-tab {
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 600;
  color: #6E7F93;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 0.2s;
}

.admin-settings-tab:hover {
  color: #0A58A5;
}

.admin-settings-tab.active {
  color: #0A58A5;
  border-bottom-color: #0A58A5;
}

/* ========== Toggle Switch ========== */

.admin-toggle {
  position: relative;
  display: inline-block;
  width: 48px;
  height: 26px;
  flex-shrink: 0;
}

.admin-toggle input {
  opacity: 0;
  width: 0;
  height: 0;
}

.admin-toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  border-radius: 26px;
  transition: 0.3s;
}

.admin-toggle-slider::before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  border-radius: 50%;
  transition: 0.3s;
}

.admin-toggle input:checked + .admin-toggle-slider {
  background-color: #0A58A5;
}

.admin-toggle input:checked + .admin-toggle-slider::before {
  transform: translateX(22px);
}

/* ========== Notification Settings ========== */

.admin-notification-settings {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.admin-notification-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  border-bottom: 1px solid #E5E9F0;
}

.admin-notification-item:last-child {
  border-bottom: none;
}

.admin-notification-item-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.admin-notification-item-info strong {
  font-size: 14px;
  color: #1e293b;
}

.admin-notification-item-info span {
  font-size: 13px;
  color: #6E7F93;
}

/* ========== Team Members ========== */

.admin-team-members-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.admin-team-member-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #E5E9F0;
}

.admin-team-member-item:last-child {
  border-bottom: none;
}

.admin-team-member-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #0A58A5;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
}

.admin-team-member-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.admin-team-member-info strong {
  font-size: 14px;
  color: #1e293b;
}

.admin-team-member-delete {
  color: #FC121B;
  font-size: 14px;
  padding: 8px;
  border-radius: 6px;
  transition: background 0.2s;
  text-decoration: none;
}

.admin-team-member-delete:hover {
  background: #fef2f2;
}

/* ========== Project Modules ========== */

.admin-project-modules {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
}

.admin-project-module-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 10px;
  border: 1px solid #E5E9F0;
  background: #F9FAFB;
}

.admin-project-module-icon {
  font-size: 20px;
  flex-shrink: 0;
}

.admin-project-module-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.admin-project-module-info strong {
  font-size: 13px;
  color: #1e293b;
}

.admin-project-module-info span {
  font-size: 12px;
  color: #6E7F93;
}

/* ========== Integration Cards ========== */

.admin-integrations-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.admin-integration-card {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 14px;
  overflow: hidden;
}

.admin-integration-card-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 24px;
  border-bottom: 1px solid #F3F4F6;
}

.admin-integration-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}

.admin-integration-card-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.admin-integration-card-info h3 {
  font-size: 16px;
  font-weight: 600;
  color: #1A2333;
  margin: 0;
}

.admin-integration-card-info span {
  font-size: 13px;
  color: #6E7F93;
}

.admin-integration-card-body {
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.admin-integration-card-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid #F3F4F6;
}

.admin-integration-card-row:last-child {
  border-bottom: none;
}

.admin-integration-card-label {
  font-size: 13px;
  color: #6E7F93;
  font-weight: 500;
}

.admin-integration-card-value {
  font-size: 13px;
  color: #1A2333;
  font-weight: 500;
}

code.admin-integration-card-value {
  background: #F3F4F6;
  padding: 3px 8px;
  border-radius: 6px;
  font-family: monospace;
  font-size: 12px;
  color: #445972;
}

/* ========== Security Stats ========== */

.admin-security-stat {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px;
  background: #F9FAFB;
  border-radius: 10px;
  border: 1px solid #F3F4F6;
}

.admin-security-stat-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}

.admin-security-stat-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.admin-security-stat-value {
  font-size: 22px;
  font-weight: 700;
  color: #1A2333;
}

.admin-security-stat-label {
  font-size: 13px;
  color: #6E7F93;
  font-weight: 500;
}

/* ========== Project Actions ========== */

.admin-project-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* ========== Explorer & Form Styles ========== */

.admin-dashboard-subtitle{
  color: #6E7F93;
  font-size: 14px;
  font-weight: 400;
  margin-top: 4px;
}

.admin-users-header-right{
  display: flex;
  align-items: center;
  gap: 10px;
}

.admin-action-button{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 10px;
  border: none;
  background: #0A58A5;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s;
}

.admin-action-button:hover{
  background: #084a8f;
}

.admin-action-button i{
  font-size: 12px;
}

.admin-badge{
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  background: #F0F4F8;
  color: #445972;
}

.admin-badge-success{
  background: #ECFDF5;
  color: #059669;
}

.admin-badge-warning{
  background: #FFFBEB;
  color: #D97706;
}

.admin-badge-danger{
  background: #FEF2F2;
  color: #DC2626;
}

.admin-empty-state{
  text-align: center;
  color: #6E7F93;
  padding: 40px 20px;
  font-size: 14px;
}

.admin-form-container{
  background: #fff;
  border-radius: 16px;
  border: 1px solid #E5E7EB;
  padding: 32px;
  margin-top: 20px;
}

.admin-form-errors{
  background: #FEF2F2;
  border: 1px solid #FECACA;
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 24px;
  color: #DC2626;
  font-size: 14px;
}

.admin-form-errors ul{
  margin: 8px 0 0 16px;
}

.admin-edit-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.admin-edit-label{
  font-size: 13px;
  font-weight: 600;
  color: #445972;
}

.admin-edit-textarea{
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  font-size: 14px;
  color: #1A2333;
  background: #F9FAFB;
  box-sizing: border-box;
  transition: border-color 0.2s, background 0.2s;
  resize: vertical;
  min-height: 80px;
  font-family: "Open Sans", sans-serif;
}

.admin-edit-textarea:focus{
  outline: none;
  border-color: #0A58A5;
  background: #fff;
}

.admin-toggle-row{
  display: flex;
  align-items: center;
  gap: 12px;
}

.admin-toggle-checkbox{
  width: 44px;
  height: 24px;
  appearance: none;
  -webkit-appearance: none;
  background: #D1D5DB;
  border-radius: 12px;
  position: relative;
  cursor: pointer;
  transition: background 0.2s;
  flex-shrink: 0;
}

.admin-toggle-checkbox::before{
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  top: 3px;
  left: 3px;
  transition: transform 0.2s;
}

.admin-toggle-checkbox:checked{
  background: #0A58A5;
}

.admin-toggle-checkbox:checked::before{
  transform: translateX(20px);
}

.admin-toggle-label{
  font-size: 14px;
  color: #445972;
  font-weight: 500;
}

.admin-form-actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #E5E7EB;
}

.admin-cancel-button{
  padding: 10px 24px;
  border-radius: 10px;
  border: 1px solid #E2E8F0;
  background: #fff;
  color: #445972;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.2s;
}

.admin-cancel-button:hover{
  background: #F3F4F6;
}

/* ========== Table Action Buttons ========== */

.admin-actions-cell{
  display: flex;
  align-items: center;
  gap: 6px;
}

.admin-table-action-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid #E2E8F0;
  background: #fff;
  color: #445972;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s;
  text-decoration: none;
}

.admin-table-action-btn:hover{
  background: #F1F5F9;
  color: #1E3A5F;
  border-color: #CBD5E1;
}

.admin-table-action-danger{
  color: #DC2626;
  border-color: #FECACA;
}

.admin-table-action-danger:hover{
  background: #FEF2F2;
  color: #B91C1C;
  border-color: #FCA5A5;
}

/* ========== Allocate Search ========== */

.allocate-search-container{
  position: relative;
}

.allocate-search-input-wrapper{
  position: relative;
}

.allocate-search-icon{
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #94A3B8;
  font-size: 13px;
  pointer-events: none;
}

.allocate-search-input-wrapper .admin-edit-input{
  padding-left: 36px;
}

.allocate-search-selected{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 14px;
  background: #F0F9FF;
  border: 1px solid #BAE6FD;
  border-radius: 10px;
  font-size: 14px;
  color: #0369A1;
  font-weight: 500;
}

.allocate-search-clear{
  background: none;
  border: none;
  color: #0369A1;
  font-size: 18px;
  cursor: pointer;
  padding: 0 4px;
  line-height: 1;
}

.allocate-search-clear:hover{
  color: #DC2626;
}

.allocate-search-dropdown{
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 50;
  background: #fff;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  max-height: 240px;
  overflow-y: auto;
  margin-top: 4px;
}

.allocate-search-option{
  display: flex;
  flex-direction: column;
  padding: 10px 14px;
  cursor: pointer;
  transition: background 0.15s;
}

.allocate-search-option:hover{
  background: #F1F5F9;
}

.allocate-search-option-name{
  font-size: 14px;
  font-weight: 600;
  color: #1E293B;
}

.allocate-search-option-meta{
  font-size: 12px;
  color: #64748B;
}

/* ═══════════════════════════════════════════════════
   ADMIN NOTIFICATIONS
   ═══════════════════════════════════════════════════ */

.admin-notification-type-badge{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
}

.admin-notification-type-badge.payment{
  color: #0A58A5;
  background: rgba(10, 88, 165, 0.08);
}

.admin-notification-type-badge.info{
  color: #6E7F93;
  background: rgba(110, 127, 147, 0.08);
}

.admin-notification-type-badge.success{
  color: #14A44D;
  background: rgba(20, 164, 77, 0.08);
}

.admin-notification-type-badge.warning{
  color: #F59E0B;
  background: rgba(245, 158, 11, 0.08);
}

/* ═══════════════════════════════════════════════════
   ADMIN SETTINGS — Packs & Modules
   ═══════════════════════════════════════════════════ */

.admin-settings-packs-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}

.admin-settings-pack-card{
  border-radius: 12px;
  border: 1px solid #DFE5EC;
  background: #FFF;
  padding: 20px;
  transition: border-color 0.2s, opacity 0.2s;
}

.admin-settings-pack-card:hover{
  border-color: #0A58A5;
}

.admin-settings-pack-card.structure:hover{
  border-color: #7C3AED;
}

.admin-settings-pack-card.inactive{
  opacity: 0.5;
}

.admin-settings-pack-header{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 16px;
}

.admin-settings-pack-icon{
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(10, 88, 165, 0.08);
  color: #0A58A5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

.admin-settings-pack-icon.structure{
  background: rgba(124, 58, 237, 0.08);
  color: #7C3AED;
}

.admin-settings-pack-toggles{
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-end;
}

.admin-settings-pack-toggle-item{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #6E7F93;
  font-weight: 600;
}

.admin-settings-pack-fields{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.admin-settings-pack-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.admin-settings-pack-ratio{
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #6E7F93;
  padding: 6px 10px;
  background: #F8FAFC;
  border-radius: 6px;
}

.admin-settings-pack-add-btn{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  margin-top: 16px;
  padding: 12px;
  border-radius: 10px;
  border: 2px dashed #D1D5DB;
  background: transparent;
  color: #6E7F93;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.admin-settings-pack-add-btn:hover{
  border-color: #0A58A5;
  color: #0A58A5;
  background: rgba(10, 88, 165, 0.04);
}

.admin-settings-pack-add-btn.structure:hover{
  border-color: #7C3AED;
  color: #7C3AED;
  background: rgba(124, 58, 237, 0.04);
}

/* Modules grid */
.admin-settings-modules-grid{
  display: flex;
  flex-direction: column;
  gap: 0;
}

.admin-settings-module-card{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid #F1F5F9;
}

.admin-settings-module-card:last-child{
  border-bottom: none;
}

.admin-settings-module-icon{
  width: 42px;
  height: 42px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}

.admin-settings-module-info{
  flex: 1;
  min-width: 0;
}

.admin-settings-module-name{
  font-size: 14px;
  font-weight: 600;
  color: #1E293B;
}

.admin-settings-module-desc{
  font-size: 12px;
  color: #64748B;
  margin-top: 2px;
}

.admin-settings-module-cost{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}

.admin-settings-module-cost-value{
  font-size: 22px;
  font-weight: 700;
  color: #0A58A5;
  line-height: 1;
}

.admin-settings-module-cost-label{
  font-size: 10px;
  color: #6E7F93;
  font-weight: 600;
  text-transform: uppercase;
}

/* Module stats */
.admin-settings-modules-stats{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.admin-settings-module-stat{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.admin-settings-module-stat-left{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: #334155;
  min-width: 180px;
}

.admin-settings-module-stat-right{
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
}

.admin-settings-module-stat-bar{
  flex: 1;
  height: 6px;
  background: #F1F5F9;
  border-radius: 3px;
  overflow: hidden;
}

.admin-settings-module-stat-fill{
  height: 100%;
  border-radius: 3px;
  transition: width 0.6s ease-out;
}

.admin-settings-module-stat-count{
  font-size: 13px;
  font-weight: 700;
  color: #1E293B;
  min-width: 30px;
  text-align: right;
}

.admin-notif-title{
  font-size: 13px;
  font-weight: 600;
  color: #1E293B;
  line-height: 18px;
}

.admin-notif-description{
  font-size: 12px;
  color: #64748B;
  line-height: 16px;
  margin-top: 2px;
}
/* Page Cohortes */

/* Header bar (inside tendances-page-header) */
.cohortes-header-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

.cohortes-header-stats {
    display: flex;
    align-items: center;
    gap: 14px;
}

.cohortes-header-stat {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #4B5563;
    font-family: "Open Sans", sans-serif;
}

.cohortes-header-stat i {
    color: #0A58A5;
    font-size: 13px;
}

.cohortes-header-stat strong {
    font-weight: 700;
    color: #1F2937;
}

.cohortes-header-create-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: none;
    border-radius: 10px;
    background: #0A58A5;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: background 0.2s ease;
}

.cohortes-header-create-btn:hover {
    background: #084A8A;
}

.cohortes-header-create-btn i {
    font-size: 12px;
}

@media (max-width: 768px) {
    .cohortes-header-right {
        gap: 10px;
    }

    .cohortes-header-stats {
        display: none;
    }
}

/* Stats Block (index page) */
.cohortes-stats-block {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 24px;
    animation: fadeUp 0.4s ease-out 0.1s both;
}

.cohortes-stat-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    background: #ffffff;
    border: 1px solid #DFE5EC;
    border-radius: 16px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.2s ease;
}

.cohortes-stat-item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.cohortes-stat-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(10, 88, 165, 0.08);
    color: #0A58A5;
    font-size: 16px;
}

.cohortes-stat-icon.active {
    background: rgba(16, 185, 129, 0.1);
    color: #10B981;
}

.cohortes-stat-icon.terminated {
    background: rgba(107, 114, 128, 0.1);
    color: #6B7280;
}

.cohortes-stat-icon.draft {
    background: rgba(245, 158, 11, 0.1);
    color: #F59E0B;
}

.cohortes-stat-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cohortes-stat-value {
    font-size: 22px;
    font-weight: 700;
    color: #223245;
    font-family: "Open Sans", sans-serif;
    line-height: 1;
}

.cohortes-stat-label {
    font-size: 13px;
    font-weight: 500;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
}

@media (max-width: 768px) {
    .cohortes-stats-block {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}

/* Search & Filter Bar */
.cohortes-search-filters {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    animation: fadeUp 0.4s ease-out 0.2s both;
}

.cohortes-search-bar {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 16px;
    height: 44px;
    border-radius: 15px;
    border: 1px solid #DFE5EC;
    background: #F6F7F8;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.cohortes-search-bar:focus-within {
    border-color: #0A58A5;
    background: #ffffff;
}

.cohortes-search-icon {
    color: #9CA3AF;
    font-size: 14px;
    flex-shrink: 0;
}

.cohortes-search-input {
    flex: 1;
    height: 100%;
    border: none;
    background: transparent;
    font-size: 14px;
    color: #223245;
    font-family: "Open Sans", sans-serif;
    outline: none;
}

.cohortes-search-input::placeholder {
    color: #9CA3AF;
}

.cohortes-filter-tabs {
    display: flex;
    align-items: center;
    gap: 4px;
    border-radius: 15px;
    border: 1px solid #DFE5EC;
    background: #F6F7F8;
    padding: 4px;
}

.cohortes-stats-block{
    margin-top: 30px;
}

.cohortes-filter-tab {
    padding: 8px 16px;
    border: none;
    border-radius: 12px;
    background: transparent;
    color: #6E7F93;
    font-size: 13px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.cohortes-filter-tab:hover {
    color: #223245;
    background: rgba(10, 88, 165, 0.04);
}

.cohortes-filter-tab.active {
    background: #ffffff;
    color: #0A58A5;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* Table Card */
.cohortes-table-card {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    overflow: visible;
    animation: fadeUp 0.4s ease-out 0.25s both;
}

@media (max-width: 768px) {
    .cohortes-search-filters {
        flex-direction: column;
        align-items: stretch;
    }

    .cohortes-filter-tabs {
        overflow-x: auto;
    }
}

/* Show Page Styles */
.cohortes-show-content-wrapper {
    padding-top: 0 !important;
    overflow-x: hidden;
}

.cohortes-show-page-header {
    background-color: #FFFFFF;
    border-bottom: 1px solid #DFE5EC;
    position: sticky;
    top: 0;
    z-index: 99;
    width: calc(100% + 100px);
    margin: 0 -50px 32px -50px;
    padding: 0;
    max-width: calc(100vw - 48px);
}

.cohortes-show-page-header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 50px;
    max-width: 100%;
}

.cohortes-show-page-header-left {
    display: flex;
    align-items: center;
    gap: 32px;
}

.cohortes-show-page-title {
    font-size: 20px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.cohortes-show-page-header-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.cohortes-allocate-btn {
    background-color: #DFE5EC;
    color: #223245;
}

.cohortes-allocate-btn:hover {
    background-color: #CED4DA;
}

.cohortes-invite-btn {
    background-color: #0A58A5;
    color: #FFFFFF;
}

.cohortes-invite-btn:hover {
    background-color: #084a8f;
}

.cohortes-show-page {
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px;
    overflow-x: hidden;
}

/* Détails de la cohorte */
.cohorte-details-card {
    background-color: #FFFFFF;
    border: 1px solid #DFE5EC;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    animation: fadeUp 0.4s ease-out both;
}

.cohorte-details-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.cohorte-details-header-left {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    flex: 1;
}

.cohorte-details-icon-wrapper {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(10, 88, 165, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #0A58A5;
    font-size: 18px;
}

.cohorte-details-title {
    font-size: 20px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
    line-height: 1.3;
}

.cohorte-details-description {
    font-size: 14px;
    color: #6E7F93;
    margin: 6px 0 0 0;
    font-family: "Open Sans", sans-serif;
    line-height: 1.5;
}

/* Status Badge */
.cohorte-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    white-space: nowrap;
    flex-shrink: 0;
}

.cohorte-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.cohorte-status-active {
    background: rgba(16, 185, 129, 0.1);
    color: #059669;
}

.cohorte-status-active .cohorte-status-dot {
    background: #10B981;
}

.cohorte-status-terminee {
    background: rgba(107, 114, 128, 0.1);
    color: #4B5563;
}

.cohorte-status-terminee .cohorte-status-dot {
    background: #6B7280;
}

.cohorte-status-brouillon {
    background: rgba(245, 158, 11, 0.1);
    color: #D97706;
}

.cohorte-status-brouillon .cohorte-status-dot {
    background: #F59E0B;
}

/* Statuts entrepreneurs */
.cohorte-status-en_cours {
    background: rgba(59, 130, 246, 0.1);
    color: #2563EB;
}

.cohorte-status-en_cours .cohorte-status-dot {
    background: #3B82F6;
}

.cohorte-status-termine {
    background: rgba(16, 185, 129, 0.1);
    color: #059669;
}

.cohorte-status-termine .cohorte-status-dot {
    background: #10B981;
}

.cohorte-status-bloque {
    background: rgba(239, 68, 68, 0.1);
    color: #DC2626;
}

.cohorte-status-bloque .cohorte-status-dot {
    background: #EF4444;
}

.cohorte-status-inactif {
    background: rgba(245, 158, 11, 0.1);
    color: #D97706;
}

.cohorte-status-inactif .cohorte-status-dot {
    background: #F59E0B;
}

.cohorte-status-nouveau {
    background: rgba(107, 114, 128, 0.1);
    color: #4B5563;
}

.cohorte-status-nouveau .cohorte-status-dot {
    background: #9CA3AF;
}

.cohorte-status-en_pause {
    background: rgba(139, 92, 246, 0.1);
    color: #7C3AED;
}

.cohorte-status-en_pause .cohorte-status-dot {
    background: #8B5CF6;
}

/* Meta Chips */
.cohorte-details-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #F0F2F5;
    flex-wrap: wrap;
}

.cohorte-detail-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 10px;
    background: #F6F7F8;
    border: 1px solid #EDF0F3;
    font-size: 13px;
    font-weight: 500;
    color: #445972;
    font-family: "Open Sans", sans-serif;
}

.cohorte-detail-chip i {
    font-size: 13px;
    color: #0A58A5;
}

/* Tabs */
.cohorte-tabs-container {
    margin-top: 32px;
}

.cohorte-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
    border-bottom: 2px solid #F0F0F8;
}

.cohorte-tab {
    padding: 12px 24px;
    background-color: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: #6E7F93;
    font-size: 16px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-bottom: -2px;
}

.cohorte-tab:hover {
    color: #223245;
}

.cohorte-tab.active {
    color: #0A58A5;
    border-bottom-color: #0A58A5;
}

/* Tab Content */
.cohorte-tab-contents {
    position: relative;
    margin-top: 20px;
}


/* Overview Top Section (KPIs + Attention) */
.cohorte-overview-top {
    display: flex;
    align-items: stretch;
    gap: 26px;
}

/* KPI Panel (gradient) */
.cohorte-kpi-panel {
    width: 70%;
    border-radius: 20px;
    background: var(--gar, linear-gradient(97deg, #0A58A5 -8.25%, #161921 134.93%));
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -4px rgba(0, 0, 0, 0.10);
    padding: 24px;
    animation: scaleIn 0.5s ease-out 0.1s both;
}

.cohorte-kpi-panel-title {
    color: #FFF;
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.cohorte-kpi-panel-subtitle {
    color: #DBEAFE;
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
    margin-top: 6px;
    font-family: "Open Sans", sans-serif;
}

.cohorte-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 18px;
}

.cohorte-kpi-card {
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    background: rgba(0, 0, 0, 0.10);
    padding: 14px;
    animation: fadeUp 0.4s ease-out both;
}

.cohorte-kpi-card:nth-child(1) { animation-delay: 0.2s; }
.cohorte-kpi-card:nth-child(2) { animation-delay: 0.3s; }
.cohorte-kpi-card:nth-child(3) { animation-delay: 0.4s; }
.cohorte-kpi-card:nth-child(4) { animation-delay: 0.5s; }

.cohorte-kpi-value {
    color: #FFF;
    font-size: 28px;
    font-weight: 700;
    font-family: "Open Sans", sans-serif;
    line-height: 1;
}

.cohorte-kpi-label {
    color: #BEDBFF;
    font-size: 12px;
    font-weight: 400;
    font-family: "Open Sans", sans-serif;
    margin-top: 8px;
}

/* Attention Panel */
.cohorte-attention-panel {
    width: 30%;
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    background: var(--Linear, linear-gradient(144deg, #DFE5EC 11.42%, #FFF 75.57%));
    padding: 20px;
    animation: scaleIn 0.5s ease-out 0.2s both;
}

.cohorte-attention-panel-header {
    color: #6E7F93;
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: 0.35px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: "Open Sans", sans-serif;
    margin-bottom: 16px;
}

.cohorte-attention-panel-header i {
    color: #F59E0B;
}

.cohorte-attention-panel-title {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
}

/* Bottom Section (Activité + Actions) */
.cohorte-overview-bottom {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 26px;
    margin-top: 26px;
}

.cohorte-overview-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 24px;
    border: 1px solid #DFE5EC;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    animation: fadeUp 0.4s ease-out 0.3s both;
}

.cohorte-overview-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.cohorte-overview-card-title {
    color: #223245;
    font-size: 16px;
    font-weight: 700;
    line-height: 18px;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.cohorte-see-all-link {
    font-size: 14px;
    color: #0A58A5;
    text-decoration: none;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    transition: color 0.2s ease;
}

.cohorte-see-all-link:hover {
    color: #084a8f;
    text-decoration: underline;
}

/* Points d'attention */
.cohorte-attention-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cohorte-attention-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    background-color: #FFF;
    border-radius: 14px;
    border: 1px solid #EDF0F3;
}

.cohorte-attention-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.cohorte-attention-icon.warning {
    background-color: #FEF3C7;
    color: #F59E0B;
}

.cohorte-attention-icon.info {
    background-color: #DBEAFE;
    color: #3B82F6;
}

.cohorte-attention-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cohorte-attention-title {
    font-size: 13px;
    font-weight: 600;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

.cohorte-attention-subtitle {
    font-size: 11px;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
}

.cohorte-attention-empty {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px;
    background: #F0FFF4;
    border-radius: 10px;
    color: #22C55E;
    font-size: 13px;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
}

.cohorte-attention-empty i {
    font-size: 18px;
}

.cohorte-activity-empty{
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
}

.cohorte-attention-action:hover {
    background-color: #FDE68A;
    border-color: #FBBF24;
}

/* Actions Rapides */
.cohorte-quick-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 16px;
}

.cohorte-quick-action-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background-color: #F6F7F8;
    border: 1px solid #EDF0F3;
    border-radius: 12px;
    color: #445972;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    font-family: "Open Sans", sans-serif;
    font-family: "Open Sans", sans-serif;
    text-align: left;
    width: 100%;
}

.cohorte-quick-action-btn:hover {
    background-color: #EDF0F3;
    border-color: #DFE5EC;
    color: #223245;
}

.cohorte-quick-action-btn.primary {
    background-color: #0A58A5;
    border-color: #0A58A5;
    color: #FFFFFF;
}

.cohorte-quick-action-btn.primary:hover {
    background-color: #084a8f;
    border-color: #084a8f;
}

.cohorte-quick-action-btn i {
    font-size: 14px;
    width: 18px;
    text-align: center;
    color: #0A58A5;
}

.cohorte-quick-action-btn.primary i {
    color: #FFFFFF;
}

/* Activité récente */
.cohorte-recent-activity {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cohorte-activity-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.cohorte-activity-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0A58A5 0%, #3B82F6 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 600;
    flex-shrink: 0;
    font-family: "Open Sans", sans-serif;
}

.cohorte-activity-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cohorte-activity-text {
    font-size: 14px;
    color: #223245;
    line-height: 1.5;
    font-family: "Open Sans", sans-serif;
}

.cohorte-activity-link {
    color: #0A58A5;
    text-decoration: none;
    font-weight: 600;
}

.cohorte-activity-link:hover {
    text-decoration: underline;
}

.cohorte-activity-time {
    font-size: 12px;
    color: #9CA3AF;
    font-family: "Open Sans", sans-serif;
}

/* Responsive Overview */
@media (max-width: 768px) {
    .cohorte-overview-top {
        flex-direction: column;
    }

    .cohorte-kpi-panel,
    .cohorte-attention-panel {
        width: 100% !important;
    }

    .cohorte-kpi-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cohorte-overview-bottom {
        grid-template-columns: 1fr;
    }
}

/* Entrepreneurs Header */
.cohorte-entrepreneurs-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
    animation: fadeUp 0.4s ease-out both;
}

.cohorte-entrepreneurs-search-bar {
    border-radius: 15px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    height: 44px;
    width: 50%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.cohorte-entrepreneurs-search-bar:focus-within {
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.cohorte-entrepreneurs-search-bar i {
    color: #B5C1D0;
    font-size: 14px;
    flex-shrink: 0;
}

.cohorte-entrepreneurs-search-bar input {
    height: 100%;
    width: 100%;
    border: none;
    outline: none;
    font-size: 14px;
    color: #223245;
    font-family: "Open Sans", sans-serif;
    background: transparent;
}

.cohorte-entrepreneurs-search-bar input::placeholder {
    color: #B5C1D0;
}

.cohorte-entrepreneurs-header-right {
    display: flex;
    align-items: center;
    gap: 14px;
}

.cohorte-entrepreneurs-count {
    font-size: 13px;
    font-weight: 500;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
    white-space: nowrap;
}

.cohorte-invite-entrepreneur-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background-color: #0A58A5;
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.cohorte-invite-entrepreneur-btn:hover {
    background-color: #084A8A;
}

.cohorte-invite-entrepreneur-btn i {
    font-size: 13px;
}

/* Entrepreneurs Table Wrapper */
.cohorte-entrepreneurs-table-wrap {
    background: #FFF;
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    overflow: visible;
    animation: fadeUp 0.4s ease-out 0.1s both;
}

.cohorte-entrepreneurs-table {
    width: 100%;
    border-collapse: collapse;
}

.cohorte-entrepreneurs-table thead th {
    background: #F6F7F8;
    color: #6E7F93;
    font-size: 12px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding: 14px 16px;
    text-align: left;
    white-space: nowrap;
    border-bottom: 1px solid #DFE5EC;
}

.cohorte-entrepreneurs-table thead th:first-child {
    border-top-left-radius: 20px;
    padding-left: 24px;
}

.cohorte-entrepreneurs-table thead th:last-child {
    border-top-right-radius: 20px;
    padding-right: 24px;
}

.cohorte-entrepreneurs-table tbody tr {
    border-bottom: 1px solid #F0F2F5;
    transition: background-color 0.15s ease;
}

.cohorte-entrepreneurs-table tbody tr:last-child {
    border-bottom: none;
}

.cohorte-entrepreneurs-table tbody tr:hover {
    background-color: #F9FAFB;
}

.cohorte-entrepreneurs-table tbody td {
    padding: 16px 16px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    color: #223245;
    vertical-align: middle;
}

.cohorte-entrepreneurs-table tbody td:first-child {
    padding-left: 24px;
}

.cohorte-entrepreneurs-table tbody td:last-child {
    padding-right: 24px;
    width: 48px;
}

.cohorte-entrepreneurs-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 20px;
}

.cohorte-entrepreneurs-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 20px;
}

/* Entrepreneur Cell */
.entrepreneur-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}

.entrepreneur-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0A58A5 0%, #3B82F6 100%);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    flex-shrink: 0;
    font-family: "Open Sans", sans-serif;
}

.entrepreneur-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.entrepreneur-name {
    font-size: 14px;
    font-weight: 600;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

.entrepreneur-email {
    font-size: 12px;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
}

/* Projet / Étape / Activité */
.projet-name {
    font-size: 13px;
    color: #223245;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
}

.no-projet, .no-etape, .no-progression, .no-activity {
    font-size: 13px;
    color: #B5C1D0;
    font-family: "Open Sans", sans-serif;
}

.etape-name {
    font-size: 13px;
    color: #0A58A5;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
}

.last-activity {
    font-size: 13px;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
}

/* Empty state */
.cohorte-entrepreneurs-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.cohorte-entrepreneurs-empty-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(10, 88, 165, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.cohorte-entrepreneurs-empty-icon i {
    font-size: 24px;
    color: #0A58A5;
}

.cohorte-entrepreneurs-empty h3 {
    font-size: 18px;
    font-weight: 700;
    color: #223245;
    margin: 0 0 8px 0;
    font-family: "Open Sans", sans-serif;
}

.cohorte-entrepreneurs-empty p {
    font-size: 14px;
    color: #6E7F93;
    margin: 0 0 24px 0;
    font-family: "Open Sans", sans-serif;
}

button.status-tab {
    border: none;
}

@media (max-width: 768px) {
    .cohorte-entrepreneurs-header {
        flex-direction: column;
        align-items: stretch;
    }

    .cohorte-entrepreneurs-search-bar {
        width: 100%;
    }

    .cohorte-entrepreneurs-table-wrap {
        overflow-x: auto;
    }
}

/* Back Button */
.back-button {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #6E7F93;
    font-size: 14px;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
    text-decoration: none;
    transition: color 0.2s ease;
}

.back-button svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}


/* Search and Filters Bar */
.search-filters-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.search-container {
    position: relative;
    flex: 1;
    max-width: 400px;
}

.filters-container {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.filter-btn {
    padding: 10px 20px;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    background-color: #ffffff;
    color: #6E7F93;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.filter-btn:hover {
    background-color: #F6F7F8;
    border-color: #0A58A5;
    color: #0A58A5;
}

.filter-btn.active {
    background-color: #0A58A5;
    border-color: #0A58A5;
    color: #ffffff;
}

.filter-btn.active:hover {
    background-color: #084c94;
}

.cohortes-content {
    margin-top: 0;
}

/* Table */
.table-container {
    overflow-x: auto;
    overflow-y: visible;
    position: relative;
}

.cohortes-table {
    width: 100%;
    border-collapse: collapse;
    position: relative;
}

.cohortes-table thead {
    background-color: #F6F7F8;
}

.cohortes-table tbody tr.cohorte-row-hidden {
    display: none;
}

/* Cohorte Names (for entrepreneurs page) */
.cohorte-names {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.cohorte-name-tag {
    font-size: 14px;
    color: #0A58A5;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
}

.cohorte-separator {
    color: #6E7F93;
    font-size: 14px;
}

.cohorte-more {
    font-size: 14px;
    color: #6E7F93;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
}

.no-cohorte {
    font-size: 14px;
    color: #9CA3AF;
    font-family: "Open Sans", sans-serif;
}

/* Progression Cell */
.progression-cell {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 120px;
}

.progression-value {
    color: #0A58A5;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 133.333% */
    display: flex;
    justify-content: end;
}

.progression-bar-container {
    width: 100%;
    height: 8px;
    background-color: #EBF3FA;
    border-radius: 4px;
    overflow: hidden;
}

.progression-bar {
    height: 100%;
    background-color: #0A58A5;
    border-radius: 4px;
    transition: width 0.3s ease;
}

.cohorte-tags{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 5px;
}

.cohorte-tags .tag{
    border-radius: 4px;
    background: #E8EDF3;
    height: 18.281px;
    padding: 0 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6E7F93;
    font-family: "Open Sans";
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 14.286px; /* 142.857% */
    text-transform: uppercase;
}

/* Actions Cell */
.actions-cell {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.actions-cell:has(.dropdown-menu.active) {
    z-index: 10000;
}

.actions-cell .ellipsis-btn {
    position: relative;
    z-index: 1;
}

.actions-cell .dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 10000;
    background-color: #ffffff;
}

.ellipsis-btn {
    border: none;
}

.ellipsis-btn:hover {
    background-color: #E0F2FE;
    border-color: #0A58A5;
    color: #0A58A5;
}

.ellipsis-btn i {
    font-size: 14px;
}

/* Dropdown Menu */
.dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 4px;
    min-width: 220px;
    z-index: 10000;
    display: none;
    overflow: visible;
    background-color: #FFFFFF;
    border: 1px solid #DFE5EC;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    padding: 8px;
}

.dropdown-menu.active {
    display: block;
}

.dropdown-item span{
    font-size: 14px;
    border-radius: 10px;
    color: var(--Color2, #6E7F93);
    font-weight: 500;
}

.dropdown-item-warning span{
    color: #FC121B !important;
}

.dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    
}

.dropdown-item:hover {
    background-color: #F6F7F8;
}

.dropdown-item i {
    width: 16px;
    text-align: center;
    color: #6E7F93;
    font-size: 14px;
}

.dropdown-item-danger {
    color: #DC2626;
}

.dropdown-item-danger:hover {
    background-color: #FEF2F2;
}

.dropdown-item-danger i {
    color: #DC2626;
}
/* Modal Styles */
.cohorte-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.cohorte-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
}

.cohorte-modal-content {
    position: relative;
    background-color: #ffffff;
    border-radius: 12px;
    width: 100%;
    max-width: 800px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    z-index: 1001;
}

.cohorte-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #DFE5EC;
}

.cohorte-modal-header h3 {
    font-size: 20px;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
}

.cohorte-modal-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background-color: transparent;
    border: none;
    border-radius: 6px;
    color: #6E7F93;
    cursor: pointer;
    transition: all 0.2s;
}

.cohorte-modal-close:hover {
    background-color: #F6F7F8;
    color: #1F2937;
}

.cohorte-modal-form {
    padding: 24px;
}

.form-input,
.form-textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    font-size: 14px;
    color: #1F2937;
    background-color: #ffffff;
    transition: border-color 0.2s;
    font-family: inherit;
    box-sizing: border-box;
}

/* Supprimer les bordures rouges pour les champs required/invalid dans le formulaire de cohorte */
.cohorte-modal-form .form-input:required,
.cohorte-modal-form .form-input:invalid,
.cohorte-modal-form .form-input:required:invalid,
.cohorte-modal-form .form-input:required:invalid:focus,
.cohorte-modal-form .form-textarea:required,
.cohorte-modal-form .form-textarea:invalid,
.cohorte-modal-form .form-textarea:required:invalid,
.cohorte-modal-form .form-textarea:required:invalid:focus,
.cohorte-modal-form .form-input select:required,
.cohorte-modal-form .form-input select:invalid,
.cohorte-modal-form .form-input select:required:invalid,
.cohorte-modal-form .form-input select:required:invalid:focus,
.cohorte-modal-form input[type="text"]:required,
.cohorte-modal-form input[type="text"]:invalid,
.cohorte-modal-form input[type="date"]:required,
.cohorte-modal-form input[type="date"]:invalid,
.cohorte-modal-form textarea:required,
.cohorte-modal-form textarea:invalid {
    border-color: #DFE5EC !important;
    outline: none !important;
    box-shadow: none !important;
}

.form-input:focus,
.form-textarea:focus,
.form-input select:focus {
    outline: none;
    border-color: #0A58A5;
}

.form-input select {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    font-size: 14px;
    color: #223245;
    background-color: #ffffff;
    cursor: pointer;
    transition: border-color 0.2s;
    font-family: inherit;
    box-sizing: border-box;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236E7F93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 40px;
}

.form-input select:hover {
    border-color: #CED4DA;
}

/* Supprimer les bordures rouges pour les champs required/invalid dans le formulaire de cohorte */
.cohorte-modal-form .form-input:required,
.cohorte-modal-form .form-input:invalid,
.cohorte-modal-form .form-input:required:invalid,
.cohorte-modal-form .form-input:required:invalid:focus,
.cohorte-modal-form .form-input:required:invalid:not(:placeholder-shown),
.cohorte-modal-form .form-input:required:invalid:not(:placeholder-shown):focus,
.cohorte-modal-form .form-textarea:required,
.cohorte-modal-form .form-textarea:invalid,
.cohorte-modal-form .form-textarea:required:invalid,
.cohorte-modal-form .form-textarea:required:invalid:focus,
.cohorte-modal-form .form-input select:required,
.cohorte-modal-form .form-input select:invalid,
.cohorte-modal-form .form-input select:required:invalid,
.cohorte-modal-form .form-input select:required:invalid:focus,
.cohorte-modal-form input[type="text"]:required,
.cohorte-modal-form input[type="text"]:invalid,
.cohorte-modal-form input[type="date"]:required,
.cohorte-modal-form input[type="date"]:invalid,
.cohorte-modal-form textarea:required,
.cohorte-modal-form textarea:invalid {
    border-color: #DFE5EC !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Règles générales pour tous les formulaires de cohorte */
.form-input:required,
.form-input:invalid,
.form-input:required:invalid,
.form-input:required:invalid:focus,
.form-input:required:invalid:not(:placeholder-shown),
.form-input:required:invalid:not(:placeholder-shown):focus,
.form-textarea:required,
.form-textarea:invalid,
.form-textarea:required:invalid,
.form-textarea:required:invalid:focus,
.form-input select:required,
.form-input select:invalid,
.form-input select:required:invalid,
.form-input select:required:invalid:focus {
    border-color: #DFE5EC !important;
    outline: none !important;
    box-shadow: none !important;
}

.form-textarea {
    resize: vertical;
    min-height: 100px;
}

.cohorte-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #DFE5EC;
}

.btn-cancel {
    padding: 12px 20px;
    border: 1px solid #DFE5EC;
    border-radius: 16px;
    background-color: #ffffff;
    color: #6E7F93;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-cancel:hover {
    background-color: #F6F7F8;
    border-color: #9CA3AF;
}

.btn-submit {
    padding: 12px 20px;
    border: none;
    border-radius: 16px;
    background-color: #0A58A5;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-submit:hover {
    background-color: #084c94;
}

.btn-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Empty State */
.empty-state {
    text-align: center;
    padding: 60px 20px;
}

.empty-state-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.empty-state-content i {
    font-size: 48px;
    color: #9CA3AF;
}

.empty-state-content p {
    font-size: 16px;
    color: #6E7F93;
    margin: 0;
}

/* Modal Inviter des entrepreneurs */
.invite-entrepreneur-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.invite-entrepreneur-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
}

.invite-entrepreneur-modal-content {
    position: relative;
    background-color: #ffffff;
    border-radius: 12px;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    z-index: 1;
}

.invite-entrepreneur-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid #DFE5EC;
}

.invite-entrepreneur-modal-title {
    font-size: 20px;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.invite-entrepreneur-modal-close {
    background: none;
    border: none;
    color: #6E7F93;
    font-size: 20px;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.invite-entrepreneur-modal-close:hover {
    color: #1F2937;
}

.invite-entrepreneur-modal-body {
    padding: 24px;
    overflow-y: auto;
    flex: 1;
}

/* Invitations en attente */
.pending-invitations-section {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #DFE5EC;
}

.pending-invitations-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.pending-invitations-title {
    font-size: 16px;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.pending-invitations-count {
    font-size: 13px;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
}

.pending-invitations-warning {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background-color: #FEF3C7;
    border: 1px solid #FCD34D;
    border-radius: 6px;
    margin-bottom: 16px;
    font-size: 12px;
    color: #92400E;
    font-family: "Open Sans", sans-serif;
}

.pending-invitations-warning i {
    font-size: 14px;
}

.pending-invitations-actions-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    padding: 8px 0;
}

.select-all-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #1F2937;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
}

.select-all-checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.resend-selected-invitations-btn {
    padding: 6px 16px;
    background-color: #0A58A5;
    color: #FFFFFF;
    border: none;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
}

.resend-selected-invitations-btn:hover {
    background-color: #084a8a;
}

.pending-invitations-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 340px;
    overflow-y: auto;
}

.pending-invitations-list::-webkit-scrollbar {
    width: 4px;
}

.pending-invitations-list::-webkit-scrollbar-track {
    background: transparent;
}

.pending-invitations-list::-webkit-scrollbar-thumb {
    background: #DFE5EC;
    border-radius: 4px;
}

.pending-invitations-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 0 4px;
    border-top: 1px solid #EDF0F3;
    margin-top: 12px;
}

.pagination-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
    color: #0A58A5;
    background: #F0F7FF;
    text-decoration: none;
    transition: background 0.2s ease;
    cursor: pointer;
}

.pagination-btn:hover {
    background: #DBEAFE;
}

.pagination-btn.disabled {
    color: #B5C1D0;
    background: #F6F7F8;
    cursor: default;
    pointer-events: none;
}

.pagination-btn i {
    font-size: 11px;
}

.pagination-info {
    font-size: 13px;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
    font-weight: 500;
}

.pending-invitation-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background-color: #F8F9FA;
    border: 1px solid #DFE5EC;
    border-radius: 16px;
    transition: all 0.2s ease;
}

.invitation-checkbox {
    display: flex;
    align-items: center;
    cursor: pointer;
    flex-shrink: 0;
}

.invitation-checkbox-input {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.pending-invitation-item:hover {
    background-color: #F0F2F5;
    border-color: #0A58A5;
}

.pending-invitation-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pending-invitation-email {
    font-size: 14px;
    font-weight: 500;
    color: #1F2937;
    font-family: "Open Sans", sans-serif;
}

.pending-invitation-date {
    font-size: 12px;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
}

.pending-invitation-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.pending-invitation-status {
    font-size: 12px;
    font-weight: 500;
    color: #F59E0B;
    padding: 4px 8px;
    background-color: #FEF3C7;
    border-radius: 4px;
    font-family: "Open Sans", sans-serif;
}

.resend-invitation-btn {
    padding: 6px 12px;
    background-color: #0A58A5;
    color: #FFFFFF;
    border: none;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
}

.resend-invitation-btn:hover {
    background-color: #084a8a;
}

.invite-entrepreneur-options {
    border-bottom: 1px solid #DFE5EC;
    display: flex;
    align-items: center;
    margin-bottom: 24px;
}

.invite-option-btn {
    border-radius: 10px 10px 0 0;
    display: flex;
    height: 44px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 18px;
    border: none;
    cursor: pointer;
}

.invite-option-btn.active {
    color: var(--Color-2, #0A58A5);
    border-bottom: 1.5px solid rgb(10, 88, 165);
    background: rgba(10, 88, 165, 0.06);
}

.invite-option-btn i {
    font-size: 16px;
}

.invite-entrepreneur-form {
    margin-top: 24px;
}

.cohorte-modal-form .form-group {
    margin-bottom: 10px;
    gap: 0;
}


.form-textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    color: #1F2937;
    resize: vertical;
    transition: border-color 0.2s ease;
}

.form-textarea:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.form-textarea::placeholder {
    color: #9CA3AF;
}

.form-help-text {
    font-size: 12px;
    color: #6E7F93;
    margin-top: 8px;
    margin-bottom: 0;
    font-family: "Open Sans", sans-serif;
}

/* Email Fields */
.form-label-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.add-email-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    border: none;
    border-radius: 6px;
    color: #0A58A5;
    font-size: 13px;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
}

.add-email-btn i {
    font-size: 12px;
}

.email-fields-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.email-field-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.email-field-input {
    flex: 1;
    padding: 12px;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    color: #1F2937;
    transition: border-color 0.2s ease;
}

.email-field-input:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.email-field-input::placeholder {
    color: #9CA3AF;
}

.email-field-remove-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    background-color: #F6F7F8;
    border: 1px solid #DFE5EC;
    border-radius: 6px;
    color: #6E7F93;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.email-field-remove-btn:hover {
    background-color: #FEE2E2;
    border-color: #DC2626;
    color: #DC2626;
}

.file-upload-container {
    position: relative;
}

.file-input {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
    z-index: 2;
}

.file-upload-area {
    border: 2px dashed #DFE5EC;
    border-radius: 8px;
    padding: 40px 20px;
    text-align: center;
    background-color: #F6F7F8;
    transition: all 0.2s ease;
    cursor: pointer;
}

.file-upload-area:hover {
    border-color: #0A58A5;
    background-color: #F0F7FF;
}

.file-upload-icon {
    font-size: 48px;
    color: #9CA3AF;
    margin-bottom: 16px;
}

.file-upload-text {
    font-size: 14px;
    font-weight: 500;
    color: #1F2937;
    margin: 0 0 8px 0;
    font-family: "Open Sans", sans-serif;
}

.file-upload-hint {
    font-size: 12px;
    color: #6E7F93;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.file-selected {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    background-color: #F6F7F8;
}

.file-selected i {
    font-size: 20px;
    color: #0A58A5;
}

.file-selected span {
    flex: 1;
    font-size: 14px;
    color: #1F2937;
    font-family: "Open Sans", sans-serif;
}

.file-remove-btn {
    background: none;
    border: none;
    color: #6E7F93;
    font-size: 16px;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.file-remove-btn:hover {
    color: #DC2626;
}

.invite-entrepreneur-modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding: 24px;
    border-top: 1px solid #DFE5EC;
}

.invite-modal-btn {
    padding: 12px 24px;
    border: none;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
}

.invite-modal-btn-cancel {
    background-color: #F6F7F8;
    color: #6E7F93;
}

.invite-modal-btn-cancel:hover {
    background-color: #DFE5EC;
    color: #1F2937;
}

.invite-modal-btn-submit {
    background-color: #0A58A5;
    color: #ffffff;
}

.invite-modal-btn-submit:hover {
    background-color: #084A8A;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(10, 88, 165, 0.3);
}

/* Statistics Section */
/* ===== Statistics Tab ===== */

/* Top: Summary panel + Chart panel */
.cohorte-stats-top {
    display: flex;
    align-items: stretch;
    gap: 26px;
    animation: fadeUp 0.4s ease-out both;
}

/* Summary panel (gradient) */
.cohorte-stats-summary-panel {
    width: 60%;
    border-radius: 20px;
    background: var(--gar, linear-gradient(97deg, #0A58A5 -8.25%, #161921 134.93%));
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -4px rgba(0, 0, 0, 0.10);
    padding: 24px;
    animation: scaleIn 0.5s ease-out 0.1s both;
}

.cohorte-stats-summary-title {
    color: #FFF;
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.cohorte-stats-summary-subtitle {
    color: #DBEAFE;
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
    margin-top: 6px;
    font-family: "Open Sans", sans-serif;
}

.cohorte-stats-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 18px;
}

.cohorte-stats-summary-card {
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    background: rgba(0, 0, 0, 0.10);
    padding: 16px;
    animation: fadeUp 0.4s ease-out both;
}

.cohorte-stats-summary-card:nth-child(1) { animation-delay: 0.2s; }
.cohorte-stats-summary-card:nth-child(2) { animation-delay: 0.3s; }
.cohorte-stats-summary-card:nth-child(3) { animation-delay: 0.4s; }

.cohorte-stats-summary-value {
    color: #FFF;
    font-size: 28px;
    font-weight: 700;
    font-family: "Open Sans", sans-serif;
    line-height: 1;
}

.cohorte-stats-summary-label {
    color: #BEDBFF;
    font-size: 12px;
    font-weight: 400;
    font-family: "Open Sans", sans-serif;
    margin-top: 8px;
}

/* Chart panel (light gradient) */
.cohorte-stats-chart-panel {
    width: 40%;
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    background: var(--Linear, linear-gradient(144deg, #DFE5EC 11.42%, #FFF 75.57%));
    padding: 20px;
    animation: scaleIn 0.5s ease-out 0.2s both;
    display: flex;
    flex-direction: column;
}

.cohorte-stats-chart-header {
    color: #6E7F93;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.35px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: "Open Sans", sans-serif;
    margin-bottom: 12px;
}

.cohorte-stats-chart-header i {
    color: #0A58A5;
}

.cohorte-stats-chart-title {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
}

.cohorte-stats-chart-wrapper {
    flex: 1;
    position: relative;
    min-height: 180px;
}

.cohorte-stats-chart-wrapper canvas {
    max-width: 100%;
    max-height: 100%;
    width: 100% !important;
    height: 100% !important;
}

/* Evolution card (full width) */
.cohorte-stats-evolution-card {
    background: #FFF;
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    padding: 24px;
    margin-top: 26px;
    animation: fadeUp 0.4s ease-out 0.25s both;
}

.cohorte-stats-evolution-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 20px;
}

.cohorte-stats-evolution-title {
    font-size: 18px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.cohorte-stats-evolution-subtitle {
    font-size: 13px;
    color: #6E7F93;
    margin: 4px 0 0 0;
    font-family: "Open Sans", sans-serif;
}

.cohorte-stats-evolution-chart {
    width: 100%;
    height: 280px;
    position: relative;
}

.cohorte-stats-evolution-chart canvas {
    max-width: 100%;
    max-height: 100%;
    width: 100% !important;
    height: 100% !important;
}

/* Bottom: Modules + Secteurs */
.cohorte-stats-bottom {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 26px;
    margin-top: 26px;
}

.cohorte-stats-list-card {
    background: #FFF;
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    padding: 24px;
    animation: fadeUp 0.4s ease-out 0.35s both;
}

.cohorte-stats-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.cohorte-stats-list-header i {
    color: #0A58A5;
    font-size: 16px;
}

.cohorte-stats-list-title {
    font-size: 16px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.cohorte-stats-list-items {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.cohorte-stats-list-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cohorte-stats-list-item-rank {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rank-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background-color: #0A58A5;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    font-family: "Open Sans", sans-serif;
    flex-shrink: 0;
}

.cohorte-stats-list-item-name {
    font-size: 13px;
    font-weight: 500;
    color: #223245;
    font-family: "Open Sans", sans-serif;
    white-space: nowrap;
    min-width: 120px;
}

.cohorte-stats-list-item-bar {
    flex: 1;
    height: 8px;
    background: #EDF0F3;
    border-radius: 4px;
    overflow: hidden;
}

.cohorte-stats-list-item-fill {
    height: 100%;
    background: #0A58A5;
    border-radius: 4px;
    transition: width 0.5s ease;
}

.cohorte-stats-list-item-fill.green {
    background: #10B981;
}

.cohorte-stats-list-item-value {
    font-size: 14px;
    font-weight: 700;
    color: #0A58A5;
    font-family: "Open Sans", sans-serif;
    min-width: 40px;
    text-align: right;
}

.cohorte-statistics-empty {
    padding: 40px 20px;
    text-align: center;
    color: #B5C1D0;
    font-size: 14px;
    font-style: italic;
    font-family: "Open Sans", sans-serif;
}

.cohorte-chart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    text-align: center;
    gap: 8px;
}

.cohorte-chart-empty i {
    font-size: 32px;
    color: #DFE5EC;
    margin-bottom: 4px;
}

.cohorte-chart-empty p {
    font-size: 14px;
    font-weight: 600;
    color: #4B5563;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.cohorte-chart-empty span {
    font-size: 12px;
    color: #9CA3AF;
    font-family: "Open Sans", sans-serif;
    max-width: 260px;
    line-height: 1.4;
}

@media (max-width: 768px) {
    .cohorte-stats-top {
        flex-direction: column;
    }

    .cohorte-stats-summary-panel,
    .cohorte-stats-chart-panel {
        width: 100% !important;
    }

    .cohorte-stats-summary-grid {
        grid-template-columns: 1fr;
    }

    .cohorte-stats-bottom {
        grid-template-columns: 1fr;
    }
}

/* Settings Section */
/* Sous-onglets pour les paramètres de cohorte */


.cohorte-settings-subtab-content {
    display: none;
}

.cohorte-settings-subtab-content.active {
    display: block;
}

.cohorte-settings-section {
    margin-bottom: 32px;
    padding-bottom: 32px;
    border-bottom: 1px solid #DFE5EC;
}

.cohorte-settings-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.cohorte-settings-section-title {
    font-size: 18px;
    font-weight: 700;
    color: #1F2937;
    margin: 0 0 16px 0;
    font-family: "Open Sans", sans-serif;
}

.cohorte-settings-section-description {
    font-size: 14px;
    color: #6E7F93;
    margin: 0 0 24px 0;
    font-family: "Open Sans", sans-serif;
    line-height: 1.5;
}

.cohorte-settings-form {
    display: flex;
    flex-direction: column;
}

.cohorte-settings-form .form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

.cohorte-settings-form .form-label {
    font-size: 14px;
    font-weight: 600;
    color: #1F2937;
    font-family: "Open Sans", sans-serif;
}

.cohorte-settings-form .form-input,
.cohorte-settings-form .form-textarea,
.cohorte-settings-form .form-select {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    color: #1F2937;
    background-color: #FFFFFF;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.cohorte-settings-form .form-input:focus,
.cohorte-settings-form .form-textarea:focus,
.cohorte-settings-form .form-select:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.cohorte-settings-form .form-textarea {
    resize: vertical;
    min-height: 100px;
}

.cohorte-settings-form .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.cohorte-settings-form .form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.cohorte-settings-form .form-actions .btn {
    padding: 12px 32px;
    border: none;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 200px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.cohorte-settings-form .form-actions .btn i {
    font-size: 14px;
}

.cohorte-settings-form .form-actions .btn span {
    font-size: 14px;
    font-weight: 600;
}

.cohorte-settings-form .form-actions .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
}

.cohorte-settings-form .form-actions .btn:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.cohorte-settings-form .form-actions .btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.cohorte-actions-button{
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    padding: 20px;
}

.cohorte-actions-button h3{
    font-size: 14px;
    font-weight: 600;
    color: #1F2937;
    font-family: "Open Sans", sans-serif;
}

.cohorte-actions-button p{
    font-size: 13px;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
    line-height: 1.4;
}

/* Modules Configuration */
.modules-config-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
}

.module-config-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    border: 1px solid #DFE5EC;
    border-radius: 16px;
    transition: all 0.2s ease;
    background-color: #ffffff;
}

.module-config-item:hover {
    border-color: #0A58A5;
}

.module-toggle {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    flex-shrink: 0;
    cursor: pointer;
    margin: 0;
}

.module-toggle-input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.module-toggle-slider {
    position: absolute;
    inset: 0;
    background-color: #D1D5DB;
    border-radius: 24px;
    transition: all 0.25s ease;
}

.module-toggle-slider::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    left: 3px;
    bottom: 3px;
    background-color: #ffffff;
    border-radius: 50%;
    transition: transform 0.25s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.module-toggle-input:checked + .module-toggle-slider {
    background-color: #0A58A5;
}

.module-toggle-input:checked + .module-toggle-slider::before {
    transform: translateX(20px);
}

.module-toggle-input:focus-visible + .module-toggle-slider {
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.2);
}

.module-config-label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.module-config-label strong {
    font-size: 14px;
    font-weight: 600;
    color: #1F2937;
    font-family: "Open Sans", sans-serif;
}

.module-config-description {
    font-size: 13px;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
    line-height: 1.4;
}

/* Drag and Drop */
.module-drag-handle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: #9CA3AF;
    cursor: grab;
    flex-shrink: 0;
    transition: color 0.2s ease;
}

.module-drag-handle:active {
    cursor: grabbing;
}

.module-drag-handle:hover {
    color: #0A58A5;
}

.module-position-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #0A58A5;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    font-family: "Open Sans", sans-serif;
    flex-shrink: 0;
}

.module-sortable-ghost {
    border: 2px dashed #0A58A5 !important;
    background-color: rgba(10, 88, 165, 0.05) !important;
    opacity: 0.6;
}

.module-sortable-chosen {
    box-shadow: 0 4px 16px rgba(10, 88, 165, 0.25);
}

.module-sortable-drag {
    transform: rotate(1deg);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

/* Cohort Actions */
.cohorte-actions-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cohorte-actions-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cohorte-actions-buttons .btn {
    padding: 12px 24px;
    border: none;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
    text-decoration: none;
    display: inline-block;
}

.cohorte-settings-form .btn-primary,
.btn-primary {
    background-color: #0A58A5;
    color: #ffffff;
}

.cohorte-settings-form .btn-primary:hover,
.btn-primary:hover {
    background-color: #084A8A;
}

.cohorte-settings-form .btn-primary:focus,
.btn-primary:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.2);
}

.btn-warning {
    background-color: #FC121B;
    color: #ffffff;
}

.btn-warning:hover {
    background-color: #D97706;
}

.btn-success {
    background-color: #10B981;
    color: #ffffff;
}

.btn-success:hover {
    background-color: #059669;
}

.btn-secondary {
    background-color: #6E7F93;
    color: #ffffff;
}

.btn-secondary:hover {
    background-color: #556472;
}

.btn-info {
    background-color: #0A58A5;
    color: #ffffff;
}

.btn-info:hover {
    background-color: #084A8A;
}
/* Modules Config Status */
.save-status {
    margin-left: 12px;
    font-size: 14px;
    padding: 8px 12px;
    border-radius: 6px;
    display: inline-block;
    transition: all 0.3s ease;
}

.save-status-success {
    background-color: #D1FAE5;
    color: #065F46;
    border: 1px solid #10B981;
}

.save-status-error {
    background-color: #FEE2E2;
    color: #991B1B;
    border: 1px solid #EF4444;
}

.save-status-info {
    background-color: #DBEAFE;
    color: #1E40AF;
    border: 1px solid #3B82F6;
}

.form-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cohortes-table tr{
    border-bottom: 1px solid #DFE5EC;
}
/* Dashboard Structures d'accompagnement */

/* Animations */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.structures-dashboard {
    max-width: 100%;
}

/* Dashboard Empty State */
.dashboard-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 60px 24px 48px;
    width: 100%;
    margin: 0 auto;
}

.dashboard-empty-illustration {
    position: relative;
    width: 140px;
    height: 140px;
    margin-bottom: 32px;
}

.dashboard-empty-icon-ring {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: linear-gradient(135deg, #E0F2FE 0%, #EDE9FE 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: scaleIn 0.5s ease both;
}

.dashboard-empty-icon-circle {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0A58A5 0%, #6366F1 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    font-size: 36px;
    box-shadow: 0 8px 24px rgba(10, 88, 165, 0.25);
}

.dashboard-empty-orbits {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.dashboard-empty-orbit-dot {
    position: absolute;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 2px solid #DFE5EC;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #0A58A5;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    animation: fadeUp 0.4s ease both;
    animation-delay: var(--delay);
}

.dashboard-empty-orbit-dot:nth-child(1) { top: -8px; left: 50%; transform: translateX(-50%); }
.dashboard-empty-orbit-dot:nth-child(2) { bottom: 0; left: -10px; }
.dashboard-empty-orbit-dot:nth-child(3) { bottom: 0; right: -10px; }

.dashboard-empty-title {
    font-size: 24px;
    font-weight: 700;
    color: #223245;
    margin: 0 0 12px 0;
    font-family: "Open Sans", sans-serif;
}

.dashboard-empty-description {
    font-size: 15px;
    color: #6E7F93;
    line-height: 1.6;
    margin: 0 0 36px 0;
    font-family: "Open Sans", sans-serif;
}

.dashboard-empty-steps {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 40px;
    width: 100%;
}

.dashboard-empty-step {
    flex: 1;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 20px;
    background: #FFFFFF;
    border: 1px solid #DFE5EC;
    border-radius: 16px;
    text-align: left;
    animation: fadeUp 0.4s ease both;
}

.dashboard-empty-step:nth-child(1) { animation-delay: 0.1s; }
.dashboard-empty-step:nth-child(3) { animation-delay: 0.2s; }
.dashboard-empty-step:nth-child(5) { animation-delay: 0.3s; }

.dashboard-empty-step-number {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #0A58A5;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
    font-family: "Open Sans", sans-serif;
}

.dashboard-empty-step-content h3 {
    font-size: 14px;
    font-weight: 700;
    color: #223245;
    margin: 0 0 4px 0;
    font-family: "Open Sans", sans-serif;
}

.dashboard-empty-step-content p {
    font-size: 13px;
    color: #6E7F93;
    margin: 0;
    line-height: 1.4;
    font-family: "Open Sans", sans-serif;
}

.dashboard-empty-step-arrow {
    color: #CBD5E1;
    font-size: 14px;
    flex-shrink: 0;
}

.dashboard-empty-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.dashboard-empty-btn-primary {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    background: #0A58A5;
    color: #FFFFFF;
    border: none;
    border-radius: 15px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    font-family: "Open Sans", sans-serif;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px rgba(10, 88, 165, 0.25);
}

.dashboard-empty-btn-primary:hover {
    background: #084a8f;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(10, 88, 165, 0.3);
}

.dashboard-empty-btn-secondary {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    background: #FFFFFF;
    color: #0A58A5;
    border: 1px solid #DFE5EC;
    border-radius: 15px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    font-family: "Open Sans", sans-serif;
    transition: all 0.2s ease;
}

.dashboard-empty-btn-secondary:hover {
    background: #F6F9FC;
    border-color: #0A58A5;
    transform: translateY(-1px);
}

@media (max-width: 768px) {
    .dashboard-empty-steps {
        flex-direction: column;
    }

    .dashboard-empty-step-arrow {
        transform: rotate(90deg);
    }

    .dashboard-empty-actions {
        flex-direction: column;
        width: 100%;
    }

    .dashboard-empty-btn-primary,
    .dashboard-empty-btn-secondary {
        width: 100%;
        justify-content: center;
    }

    .dashboard-empty-title {
        font-size: 20px;
    }
}

/* Welcome Header */
.welcome-header {
    margin: 0 0 32px 0;
}

.welcome-title {
    font-size: 24px;
    font-weight: 700;
    color: #223245;
    margin: 0 0 4px 0;
    font-family: "Open Sans", sans-serif;
}

.welcome-subtitle {
    font-size: 14px;
    color: #6E7F93;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.welcome-period {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: 6px;
    padding: 2px 10px;
    background: #E0F2FE;
    color: #0A58A5;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
}

.welcome-period i {
    font-size: 10px;
}

/* Period Filter */
.dashboard-period-filter {
    display: flex;
    align-items: center;
    gap: 4px;
    background: #ECEEF1;
    border-radius: 10px;
    padding: 3px;
}

.period-filter-btn {
    padding: 5px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #6E7F93;
    text-decoration: none;
    font-family: "Open Sans", sans-serif;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.period-filter-btn:hover {
    color: #223245;
    background: rgba(255, 255, 255, 0.5);
}

.period-filter-btn.active {
    background: #FFFFFF;
    color: #0A58A5;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* KPIs Section */
.dashboard-kpis {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 32px;
}

.kpi-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 20px;
    border: 1px solid #DFE5EC;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    animation: fadeUp 0.5s ease both;
}

.kpi-card:nth-child(1) { animation-delay: 0s; }
.kpi-card:nth-child(2) { animation-delay: 0.05s; }
.kpi-card:nth-child(3) { animation-delay: 0.1s; }
.kpi-card:nth-child(4) { animation-delay: 0.15s; }
.kpi-card:nth-child(5) { animation-delay: 0.2s; }

.kpi-card-credits {
    grid-column: span 2;
}

.kpi-credits-row {
    display: flex;
    gap: 24px;
    margin-bottom: 14px;
}

.kpi-credits-stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.kpi-credits-value {
    font-size: 22px;
    font-weight: 700;
    color: #1F2937;
    font-family: "Open Sans", sans-serif;
}

.kpi-credits-remaining {
    color: #0A58A5;
}

.kpi-credits-label {
    font-size: 12px;
    color: #6E7F93;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
}

.kpi-credits-bar {
    width: 100%;
    height: 8px;
    background: #E5E7EB;
    border-radius: 4px;
    overflow: hidden;
}

.kpi-credits-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, #0A58A5 0%, #6366F1 100%);
    border-radius: 4px;
    transition: width 0.6s ease;
}

.kpi-credits-bar-legend {
    display: flex;
    justify-content: flex-end;
    margin-top: 6px;
}

.kpi-credits-bar-legend span {
    font-size: 12px;
    color: #6E7F93;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
}

.kpi-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.08);
}

.kpi-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    position: relative;
}

.kpi-icon {
    color: inherit;
    font-size: 16px;
}

.kpi-icon-container {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.kpi-icon-container.blue {
    background: #E0F2FE;
    color: #0A58A5;
}

.kpi-icon-container.green {
    background: #D1FAE5;
    color: #059669;
}

.kpi-icon-container.orange {
    background: #FEF3C7;
    color: #D97706;
}

.kpi-icon-container.purple {
    background: #EDE9FE;
    color: #7C3AED;
}

.kpi-label {
    font-size: 12px;
    font-weight: 600;
    color: #6E7F93;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.kpi-percentage-badge {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #F59E0B;
    color: #ffffff;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
}

.kpi-value {
    font-size: 32px;
    font-weight: 700;
    color: #1F2937;
    margin-bottom: 8px;
}

.kpi-change {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 600;
}

.kpi-change.positive {
    color: #10B981;
}

.kpi-change.negative {
    color: #EF4444;
}

.kpi-change.neutral {
    color: #6E7F93;
}

.kpi-period {
    font-size: 11px;
    font-weight: 500;
    color: #9CA3AF;
    font-family: "Open Sans", sans-serif;
}

/* Dashboard Grid */
.dashboard-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 24px;
}

.dashboard-left,
.dashboard-right {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Dashboard Cards */
.dashboard-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 24px;
    border: 1px solid #DFE5EC;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    animation: scaleIn 0.4s ease both;
}

.dashboard-left .dashboard-card:nth-child(1) { animation-delay: 0.1s; }
.dashboard-left .dashboard-card:nth-child(2) { animation-delay: 0.2s; }
.dashboard-left .dashboard-card:nth-child(3) { animation-delay: 0.3s; }
.dashboard-right .dashboard-card:nth-child(1) { animation-delay: 0.15s; }
.dashboard-right .dashboard-card:nth-child(2) { animation-delay: 0.25s; }
.dashboard-right .dashboard-card:nth-child(3) { animation-delay: 0.35s; }

.card-header {
    display: flex;
    margin-bottom: 20px;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 16px;
    border-bottom: 1px solid #F0F2F5;
}

.card-title {
    font-size: 18px;
    font-weight: 700;
    color: #1F2937;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.card-subtitle {
    font-size: 14px;
    color: #6E7F93;
}

.warning-icon {
    color: #F59E0B;
}

.see-all-link {
    font-size: 14px;
    color: #0A58A5;
    text-decoration: none;
    font-weight: 600;
}

.see-all-link:hover {
    text-decoration: underline;
}

/* Charts */
.chart-container {
    height: 250px;
    margin-bottom: 12px;
}

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

.chart-note {
    font-size: 12px;
    color: #9CA3AF;
}

/* Quick Actions */
.quick-actions-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.quick-action-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: #ffffff;
    border: 1px solid #DFE5EC;
    border-radius: 15px;
    font-size: 14px;
    font-weight: 600;
    color: #1F2937;
    cursor: pointer;
    transition: all 0.2s;
    text-align: left;
    width: 100%;
    text-decoration: none;
}

.quick-action-btn:hover {
    background: #F6F9FC;
    border-color: #0A58A5;
    color: #0A58A5;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.quick-action-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #E0F2FE;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #0A58A5;
    font-size: 14px;
}

.quick-action-btn i {
    width: 20px;
    text-align: center;
    color: #0A58A5;
}

/* Watch List */
.watch-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-height: 400px;
    overflow-y: auto;
    padding-right: 6px;
}

.watch-list::-webkit-scrollbar {
    width: 5px;
}

.watch-list::-webkit-scrollbar-track {
    background: transparent;
}

.watch-list::-webkit-scrollbar-thumb {
    background: #CBD5E1;
    border-radius: 10px;
}

.watch-list::-webkit-scrollbar-thumb:hover {
    background: #94A3B8;
}

.watch-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: #ffffff;
    border: 1px solid #DFE5EC;

    border-radius: 12px;
}

.watch-item-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #FEF3C7;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #D97706;
    font-size: 14px;
}

.watch-text {
    font-size: 14px;
    color: #374151;
    flex: 1;
}

.watch-action-btn {
    padding: 6px 16px;
    background: transparent;
    color: #0A58A5;
    border: 1px solid #0A58A5;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
    white-space: nowrap;
}

.watch-action-btn:hover {
    background: #0A58A5;
    color: #ffffff;
}

/* Activity List */
.activity-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-height: 400px;
    overflow-y: auto;
    padding-right: 6px;
}

.activity-list::-webkit-scrollbar {
    width: 5px;
}

.activity-list::-webkit-scrollbar-track {
    background: transparent;
}

.activity-list::-webkit-scrollbar-thumb {
    background: #CBD5E1;
    border-radius: 10px;
}

.activity-list::-webkit-scrollbar-thumb:hover {
    background: #94A3B8;
}

.activity-list .activity-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding-bottom: 16px;
    border-bottom: 1px solid #DFE5EC;
    position: static;
    padding-left: 0;
}

.activity-list .activity-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.activity-list .activity-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #E0F2FE;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0A58A5;
    font-size: 16px;
    flex-shrink: 0;
    position: static;
    transform: none;
    border: none;
    margin-left: 0;
}

.activity-list .activity-content {
    margin-left: 0;
    padding-top: 0;
}

.activity-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.activity-text {
    font-size: 14px;
    color: #1F2937;
    font-weight: 500;
}

.activity-time {
    font-size: 12px;
    color: #9CA3AF;
}
/* Status Badges */
.status-badge.status-active {
    background: #D1FAE5;
    color: #065F46;
}

.status-badge.status-paused {
    background: #FEF3C7;
    color: #92400E;
}

.status-badge.status-inactive {
    background: #F3F4F6;
    color: #6B7280;
}

/* Table Card for Entrepreneurs */
.struct-table-card {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

/* Responsive */
@media (max-width: 768px) {
    .dashboard-kpis {
        grid-template-columns: repeat(2, 1fr);
    }

    .kpi-card-credits {
        grid-column: span 2;
    }

    .dashboard-grid {
        grid-template-columns: 1fr;
    }

    .welcome-title {
        font-size: 20px;
    }

    .dashboard-period-filter {
        gap: 2px;
        padding: 2px;
    }

    .period-filter-btn {
        padding: 4px 10px;
        font-size: 12px;
    }
}

/* Entrepreneur Profile Page Styles */

/* Override content padding for this page */
.entrepreneur-profile-content {
    padding-top: 0 !important;
}

.profile-main-content {
    margin-top: 30px;
}

/* Entrepreneur Profile Avatar (in details card) */
.entrepreneur-profile-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0A58A5 0%, #084a8f 100%);
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    flex-shrink: 0;
    font-family: "Open Sans", sans-serif;
}

/* Vue d'ensemble tab */
.entrepreneur-profile-overview {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 4px;
}

.entrepreneur-profile-section-card {
    background: #FFFFFF;
    border: 1px solid #DFE5EC;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    animation: fadeUp 0.4s ease-out both;
}

.entrepreneur-profile-section-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 16px;
    border-bottom: 1px solid #F0F2F5;
    margin-bottom: 20px;
}

.entrepreneur-profile-section-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(10, 88, 165, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #0A58A5;
    font-size: 15px;
}

.entrepreneur-profile-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.entrepreneur-profile-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.entrepreneur-profile-info-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.entrepreneur-profile-info-label {
    font-size: 12px;
    font-weight: 600;
    color: #6E7F93;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Open Sans", sans-serif;
}

.entrepreneur-profile-info-value {
    font-size: 14px;
    font-weight: 500;
    color: #223245;
    font-family: "Open Sans", sans-serif;
    line-height: 1.5;
    margin: 0;
}

.entrepreneur-profile-tags-row {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.entrepreneur-profile-tag-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.entrepreneur-profile-tag-group-label {
    font-size: 12px;
    font-weight: 600;
    color: #6E7F93;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Open Sans", sans-serif;
}

.entrepreneur-profile-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.entrepreneur-profile-experience-desc {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #F0F2F5;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.entrepreneur-profile-experience-desc p {
    white-space: pre-wrap;
}

.entrepreneur-profile-history {
    margin-top: 4px;
}

/* Responsive for entrepreneur profile */
@media (max-width: 768px) {
    .entrepreneur-profile-info-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

.back-button {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #223245;
    text-decoration: none;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    transition: opacity 0.2s;
}

.back-button:hover {
    opacity: 0.8;
}

.back-button svg {
    width: 20px;
    height: 20px;
}

.profile-form-value {
    margin: 0;
    padding: 8px 0;
    color: #1F2937;
    font-size: 15px;
}

.profile-tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

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

.projet-item {
    padding: 16px;
    border: 1px solid #E5E7EB;
    border-radius: 20px;
    background: #F9FAFB;
}

.projet-item-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.projet-item-name {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1F2937;
}

.projet-item-progress {
    font-size: 14px;
    font-weight: 600;
    color: #0A58A5;
}

.projet-item-details {
    display: flex;
    gap: 16px;
    margin-bottom: 12px;
    font-size: 14px;
    color: #6B7280;
}

.projet-item-progress-bar {
    width: 100%;
    height: 8px;
    background: #E5E7EB;
    border-radius: 4px;
    overflow: hidden;
}

.projet-item-progress-fill {
    height: 100%;
    background: #0A58A5;
    transition: width 0.3s;
}

.history-table-container {
    overflow-x: auto;
    margin-top: 16px;
}

.history-table {
    width: 100%;
    border-collapse: collapse;
}

.history-table thead {
    background: #F9FAFB;
    border-bottom: 2px solid #E5E7EB;
}

.history-table th {
    padding: 12px;
    text-align: left;
    font-weight: 600;
    font-size: 14px;
    color: #374151;
}

.history-table td {
    padding: 12px;
    border-bottom: 1px solid #E5E7EB;
    font-size: 14px;
    color: #1F2937;
}

.history-table tbody tr:hover {
    background: #F9FAFB;
}

.badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}

.badge-credit {
    background: #D1FAE5;
    color: #065F46;
}

.badge-debit {
    background: #FEE2E2;
    color: #991B1B;
}

.text-success {
    color: #10B981;
}

.text-danger {
    color: #EF4444;
}

.empty-state {
    text-align: center;
    padding: 48px 24px;
    color: #6B7280;
}

.empty-state i {
    font-size: 48px;
    margin-bottom: 16px;
    color: #D1D5DB;
}

.empty-state p {
    margin: 0;
    font-size: 16px;
}

/* Sub Tabs Styles */
.sub-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
    border-bottom: 1px solid #DFE5EC;
    padding-bottom: 0;
}

.sub-tab {
    padding: 10px 20px;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    color: #6E7F93;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-bottom: -1px;
}

.sub-tab:hover {
    color: #0A58A5;
}

.sub-tab.active {
    color: #0A58A5;
    border-bottom-color: #0A58A5;
}

.sub-tab-content {
    display: none;
}

.sub-tab-content.active {
    display: block;
}

/* Block Access Form Styles */
.lock-status-block {
    padding: 20px;
    border-radius: 16px;
    border: 1px solid #DFE5EC;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.lock-status-block.locked {
    background: #FEF2F2;
    border-color: #FEE2E2;
}

.lock-status-block div h2{
    font-size: 14px;
    font-weight: 600;
    color: #1F2937;
    font-family: "Open Sans", sans-serif;
}

.lock-status-block div p{
    font-size: 13px;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
    line-height: 1.4;
}

.lock-status-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 16px;
}

.lock-status-header i {
    font-size: 24px;
    color: #EF4444;
    margin-top: 4px;
}

.lock-status-title {
    font-size: 18px;
    font-weight: 700;
    color: #1F2937;
    margin: 0 0 8px 0;
    font-family: "Open Sans", sans-serif;
}

.lock-status-subtitle {
    font-size: 14px;
    color: #6B7280;
    margin: 0;
    line-height: 1.6;
    font-family: "Open Sans", sans-serif;
}

.lock-status-text {
    font-size: 14px;
    color: #6B7280;
    margin: 0 0 16px 0;
    font-family: "Open Sans", sans-serif;
}

.block-access-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background-color: #EF4444;
    color: #FFFFFF;
    border: none;
    border-radius: 15px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
}


.block-access-button:hover {
    background-color: #DC2626;
}

.block-access-button i {
    font-size: 16px;
}

.block-form-container {
    margin-top: 24px;
    padding: 24px;
    background: #FFFFFF;
    border: 1px solid #DFE5EC;
    border-radius: 20px;
}

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

.block-form-actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    margin-top: 8px;
}

.block-form-submit-button {
    padding: 10px 24px;
    background-color: #EF4444;
    color: #FFFFFF;
    border: none;
    border-radius: 15px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
}

.block-form-submit-button:hover {
    background-color: #DC2626;
}

.block-form-cancel-button {
    padding: 10px 24px;
    background-color: #F3F4F6;
    color: #374151;
    border: 1px solid #D1D5DB;
    border-radius: 15px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
}

.block-form-cancel-button:hover {
    background-color: #E5E7EB;
}

.unlock-form {
    margin-top: 16px;
}

.unlock-button {
    padding: 10px 20px;
    background-color: #10B981;
    color: #FFFFFF;
    border: none;
    border-radius: 15px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
}

.unlock-button:hover {
    background-color: #059669;
}

/* Gestion de l'accès aux projets - Layout en deux colonnes */
.projet-access-management-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 24px;
}

.projet-block-form-column,
.projet-locked-list-column {
    display: flex;
    flex-direction: column;
}

.no-available-projets-message {
    padding: 24px;
    text-align: center;
    color: #6B7280;
    font-size: 14px;
    margin: 0;
}

/* Liste des projets bloqués */
.locked-projets-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.locked-projet-item {
    padding: 20px;
    border: 1px solid #DFE5EC;
    border-radius: 16px;
    margin-top: 30px;
}

.locked-projet-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.locked-projet-icon {
    width: 40px;
    height: 40px;
    background-color: #DC2626;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    flex-shrink: 0;
}

.locked-projet-icon i {
    font-size: 18px;
}

.locked-projet-info {
    flex: 1;
}

.locked-projet-name {
    font-size: 16px;
    font-weight: 600;
    color: #223245;
    margin: 0 0 4px 0;
    font-family: "Open Sans", sans-serif;
}

.locked-projet-cohorte {
    font-size: 14px;
    color: #6B7280;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.locked-projet-details {
    margin-bottom: 16px;
}

.locked-projet-reason {
    font-size: 14px;
    color: #374151;
    margin: 0 0 8px 0;
    font-family: "Open Sans", sans-serif;
}

.locked-projet-reason strong {
    color: #DC2626;
    font-weight: 600;
}

.locked-projet-details-text {
    font-size: 14px;
    color: #6B7280;
    margin: 0;
    line-height: 1.5;
    font-family: "Open Sans", sans-serif;
}

.locked-projet-details-text strong {
    color: #374151;
    font-weight: 600;
}

.unlock-projet-form {
    margin-top: 12px;
}

.unlock-projet-button {
    width: 100%;
    padding: 10px 20px;
    background-color: #10B981;
    color: #FFFFFF;
    border: none;
    border-radius: 16px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: "Open Sans", sans-serif;
}

.unlock-projet-button:hover {
    background-color: #059669;
}

.empty-locked-projets {
    text-align: center;
    padding: 48px 24px;
    color: #6B7280;
}

.empty-locked-projets i {
    font-size: 48px;
    margin-bottom: 16px;
    color: #10B981;
}

.empty-locked-projets p {
    margin: 0;
    font-size: 16px;
    font-family: "Open Sans", sans-serif;
}

.form-help-text {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #6B7280;
    font-family: "Open Sans", sans-serif;
}

/* Historique des activités */
.activity-summary-item {
    padding: 16px;
    border-radius: 16px;
    border: 1px solid #E5E7EB;
}

.activity-summary-label {
    font-size: 12px;
    font-weight: 600;
    color: #6B7280;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    font-family: "Open Sans", sans-serif;
}

.activity-summary-value {
    font-size: 24px;
    font-weight: 700;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

.activities-timeline {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 24px;
    position: relative;
    padding-left: 0;
}

.activities-timeline::before {
    content: '';
    position: absolute;
    left: 19px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #E5E7EB;
}

.activity-item {
    display: flex;
    gap: 16px;
    padding: 20px 0;
    position: relative;
    padding-left: 0;
}

.activity-item:not(:last-child) {
    border-bottom: 1px solid #F3F4F6;
}

.activity-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 2px solid;
    position: absolute;
    left: 0;
    top: 20px;
    transform: translateX(-50%);
    z-index: 2;
    background: #FFFFFF;
    margin-left: 20px;
}

.activity-icon i {
    font-size: 18px;
}

.activity-content {
    flex: 1;
    padding-top: 2px;
    margin-left: 56px;
}

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

.activity-title {
    font-size: 16px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.activity-date {
    font-size: 12px;
    color: #6B7280;
    white-space: nowrap;
    font-family: "Open Sans", sans-serif;
}

.activity-description {
    font-size: 14px;
    color: #6B7280;
    margin: 0;
    line-height: 1.5;
    font-family: "Open Sans", sans-serif;
}

.profile-form-header h2{
    color: var(--Color2, #6E7F93);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px;
}

#projet-block-form{
    margin-top: 30px;
}

/* Activities History Page */
.activities-history-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.activities-history-count {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: #E0F2FE;
    color: #0A58A5;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
}

.activities-history-count i {
    font-size: 12px;
}

/* Page Crédits pour les Structures */

.structures-credits-page-header-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.structures-credits-header-btn {
    padding: 10px 16px;
    border: none;
    border-radius: 16px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    height: 40px;
    font-weight: 600;
}

.structures-credits-buy-btn {
    background-color: #DFE5EC;
    color: #223245;
}

.structures-credits-allocate-btn {
    background-color: #0A58A5;
    color: #FFFFFF;
}

.structures-credits-header-btn i {
    font-size: 14px;
}

/* Dropdown pour Allouer des crédits */
.structures-credits-allocate-dropdown-wrapper {
    position: relative;
}

.structures-credits-allocate-dropdown-wrapper .structures-credits-allocate-btn {
    display: flex;
    align-items: center;
    gap: 8px;
}

.structures-credits-allocate-dropdown-wrapper .structures-credits-allocate-btn i.fa-chevron-down {
    font-size: 12px;
    transition: transform 0.2s ease;
}

.structures-credits-allocate-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background-color: #FFFFFF;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    min-width: 220px;
    z-index: 1000;
    overflow: hidden;
}

.structures-credits-allocate-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    color: #223245;
    text-decoration: none;
    transition: background-color 0.2s ease;
    border-bottom: 1px solid #F3F4F6;
    cursor: pointer;
}

.structures-credits-allocate-option:last-child {
    border-bottom: none;
}

.structures-credits-allocate-option:hover {
    background-color: #F9FAFB;
    color: #0A58A5;
}

.structures-credits-allocate-option i {
    width: 20px;
    text-align: center;
    color: #6E7F93;
}

.structures-credits-allocate-option:hover i {
    color: #0A58A5;
}

.structures-credits-allocate-option span {
    font-size: 14px;
    font-weight: 500;
}

/* Filter tab icons */
.cohortes-filter-tab i {
    font-size: 13px;
}

.structures-credits-tab-content.hidden {
    display: none;
}

.structures-credits-tab-content{
    margin-top: 30px;
}

/* Sous-onglets pour Allocations & Budgets */
.structures-credits-sub-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
    border-bottom: 2px solid #DFE5EC;
    padding-bottom: 0;
}

.structures-credits-sub-tab {
    padding: 12px 24px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    color: #6E7F93;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: "Open Sans", sans-serif;
    margin-bottom: -2px;
}

.structures-credits-sub-tab:hover {
    color: #0A58A5;
    background-color: rgba(10, 88, 165, 0.05);
}

.structures-credits-sub-tab.active {
    color: #0A58A5;
    border-bottom-color: #0A58A5;
    background-color: rgba(10, 88, 165, 0.05);
}

.structures-credits-sub-tab i {
    font-size: 14px;
}

.structures-credits-sub-tab-content {
    padding: 0;
}

.structures-credits-sub-tab-content.hidden {
    display: none;
}

/* Summary Cards */
.structures-credits-summary-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 32px;
}

.structures-credits-card {
    border-radius: 16px;
    padding: 24px;
    transition: box-shadow 0.2s ease;
}

.structures-credits-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.structures-credits-card-primary {
    background: linear-gradient(135deg, #0A58A5 0%, #084a8f 100%);
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.structures-credits-card-white {
    background-color: #FFFFFF;
    border: 1px solid #DFE5EC;
}

.structures-credits-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
}

.structures-credits-card-label {
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-card-white .structures-credits-card-label {
    color: #6E7F93;
}

.structures-credits-card-icon {
    font-size: 24px;
    color: rgba(255, 255, 255, 0.9);
    opacity: 0.7;
}

.structures-credits-card-icon-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.structures-credits-card-icon-purple {
    background-color: #E9D5FF;
    color: #9333EA;
}

.structures-credits-card-icon-orange {
    background-color: #FED7AA;
    color: #EA580C;
}

.structures-credits-card-value {
    font-size: 40px;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 4px;
    font-family: "Open Sans", sans-serif;
    line-height: 1;
}

.structures-credits-card-value-secondary {
    font-size: 32px;
    font-weight: 700;
    color: #223245;
    margin-bottom: 8px;
}

.structures-credits-card-unit {
    font-size: 16px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 16px;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-card-white .structures-credits-card-unit {
    color: #6E7F93;
}

.structures-credits-card-autonomy {
    font-size: 14px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 20px;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-recharge-btn {
    padding: 10px 20px;
    background-color: #FFFFFF;
    color: #0A58A5;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
}

.structures-credits-recharge-btn:hover {
    background-color: #F3F4F6;
    transform: translateY(-1px);
}

.structures-credits-card-description {
    font-size: 14px;
    font-weight: 400;
    color: #6E7F93;
    margin-bottom: 12px;
    font-family: "Open Sans", sans-serif;
}

/* Progress Bars */
.structures-credits-progress-bar {
    width: 100%;
    height: 8px;
    background-color: #F3F4F6;
    border-radius: 4px;
    overflow: hidden;
}

.structures-credits-progress-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.3s ease;
}

.structures-credits-progress-bar-purple {
    background-color: #9333EA;
}

.structures-credits-progress-bar-orange {
    background-color: #EA580C;
}

/* Info Section */
.structures-credits-info-section {
    display: flex;
    gap: 24px;
    padding: 24px;
    background-color: #F8F9FA;
    border: 1px solid #DFE5EC;
    border-radius: 16px;
    margin-top: 32px;
}

.structures-credits-info-icon {
    width: 48px;
    height: 48px;
    background-color: #EFF6FF;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.structures-credits-info-icon i {
    font-size: 24px;
    color: #0A58A5;
}

.structures-credits-info-content {
    flex: 1;
}

.structures-credits-info-title {
    font-size: 18px;
    font-weight: 700;
    color: #223245;
    margin: 0 0 8px 0;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-info-description {
    font-size: 14px;
    font-weight: 400;
    color: #6E7F93;
    line-height: 1.6;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-allocations-section{
    margin-top: 30px;
}

.settings-card-title{
    margin-bottom: 10px;
}

.form-checkbox{
    display: flex;
    align-items: center;
    gap: 10px;
}

.structures-credits-section-title {
    font-size: 24px;
    font-weight: 700;
    color: #223245;
    margin: 0 0 8px 0;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-section-subtitle {
    font-size: 14px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0 0 24px 0;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-allocations-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.structures-credits-allocation-item {
    padding: 20px;
    background-color: #FFFFFF;
    border: 1px solid #DFE5EC;
    border-radius: 12px;
    transition: box-shadow 0.2s ease;
}

.structures-credits-allocation-item:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.structures-credits-allocation-header {
    margin-bottom: 16px;
}

.structures-credits-allocation-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.structures-credits-allocation-cohorte-name {
    font-size: 16px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-allocation-entrepreneurs {
    font-size: 14px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-allocation-stats {
    display: flex;
    gap: 32px;
}

.structures-credits-allocation-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.structures-credits-allocation-stat-label {
    font-size: 12px;
    font-weight: 600;
    color: #6E7F93;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-allocation-stat-value {
    font-size: 20px;
    font-weight: 700;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-allocation-stat-value-consumed {
    color: #EA580C;
}

.structures-credits-allocation-entrepreneur-name {
    font-size: 16px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-allocation-entrepreneur-email {
    font-size: 14px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-allocation-details {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #DFE5EC;
}

.structures-credits-allocation-details-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.structures-credits-allocation-detail-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background-color: #F6F7F8;
    border-radius: 8px;
}

.structures-credits-allocation-detail-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.structures-credits-allocation-detail-amount {
    font-size: 14px;
    font-weight: 600;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-allocation-detail-date {
    font-size: 12px;
    font-weight: 400;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-allocation-detail-motif {
    font-size: 12px;
    font-weight: 500;
    color: #0A58A5;
    padding: 4px 8px;
    background-color: rgba(10, 88, 165, 0.1);
    border-radius: 4px;
    text-transform: capitalize;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-transactions-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.structures-credits-transaction-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background-color: #FFFFFF;
    border: 1px solid #DFE5EC;
    border-radius: 12px;
    transition: box-shadow 0.2s ease;
}

.structures-credits-transaction-item:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.structures-credits-transaction-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.structures-credits-transaction-icon.transaction-icon-credit {
    background-color: #D1FAE5;
    color: #10B981;
}

.structures-credits-transaction-icon.transaction-icon-debit {
    background-color: #FEE2E2;
    color: #DC2626;
}

.structures-credits-transaction-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.structures-credits-transaction-title {
    font-size: 16px;
    font-weight: 600;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-transaction-date {
    font-size: 14px;
    font-weight: 400;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-transaction-amount {
    font-size: 18px;
    font-weight: 700;
    font-family: "Open Sans", sans-serif;
}

.structures-credits-transaction-amount.amount-credit {
    color: #10B981;
}

.structures-credits-transaction-amount.amount-debit {
    color: #DC2626;
}

/* Empty State */
.structures-credits-empty-state {
    padding: 48px;
    text-align: center;
    background-color: #FFFFFF;
    border: 1px solid #DFE5EC;
    border-radius: 12px;
}

.structures-credits-empty-state p {
    font-size: 16px;
    color: #6E7F93;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

/* Modal Acheter des crédits */
.buy-credits-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.buy-credits-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
}

.buy-credits-modal-content {
    position: relative;
    background-color: #ffffff;
    border-radius: 12px;
    width: 100%;
    max-width: 700px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    z-index: 1;
}

.buy-credits-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 24px;
    border-bottom: 1px solid #DFE5EC;
}

.buy-credits-modal-header-text {
    flex: 1;
}

.buy-credits-modal-title {
    font-size: 20px;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.buy-credits-modal-close {
    background: none;
    border: none;
    color: #6E7F93;
    font-size: 20px;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
    margin-left: 16px;
}

.buy-credits-modal-close:hover {
    color: #1F2937;
}

.buy-credits-modal-body {
    padding: 24px;
    overflow-y: auto;
    flex: 1;
}

.buy-credits-modal-instructions {
    font-size: 14px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0 0 24px 0;
    font-family: "Open Sans", sans-serif;
    line-height: 1.5;
}

/* Packs Section */
.buy-credits-packs-section {
    margin-bottom: 32px;
}

.buy-credits-packs-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.buy-credits-pack-card {
    position: relative;
    padding: 20px;
    background-color: #FFFFFF;
    border: 2px solid #DFE5EC;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.buy-credits-pack-radio {
    display: none;
}

/* Pack sélectionné - bordure bleue - PRIORITÉ MAXIMALE */
.buy-credits-pack-card.popular.selected,
label.buy-credits-pack-card.popular.selected,
label.buy-credits-pack-card.selected,
.buy-credits-pack-card.selected {
    border: 2px solid #0A58A5 !important;
    background-color: #EFF6FF !important;
    border-color: #0A58A5 !important;
    outline: none !important;
}

/* Pack populaire non sélectionné - bordure grise */
.buy-credits-pack-card.popular:not(.selected) {
    border: 2px solid #DFE5EC !important;
}

.buy-credits-pack-card:hover:not(.selected) {
    border-color: #0A58A5;
    box-shadow: 0 2px 8px rgba(10, 88, 165, 0.1);
}

.buy-credits-pack-badge {
    position: absolute;
    top: -10px;
    right: 16px;
    background-color: #0A58A5;
    color: #FFFFFF;
    font-size: 10px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.buy-credits-pack-name {
    font-size: 18px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.buy-credits-pack-description {
    font-size: 13px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0;
    line-height: 1.5;
    font-family: "Open Sans", sans-serif;
}

.buy-credits-pack-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: auto;
}

.buy-credits-pack-credits {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 600;
    color: #0A58A5;
    font-family: "Open Sans", sans-serif;
}

.buy-credits-pack-credits i {
    font-size: 14px;
}

.buy-credits-pack-price {
    font-size: 20px;
    font-weight: 700;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

/* Terms Section */
.buy-credits-terms-section {
    margin-bottom: 24px;
}

.buy-credits-terms-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    user-select: none;
}

.buy-credits-terms-checkbox:hover {
    opacity: 0.9;
}

.buy-credits-terms-input {
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
    margin: 0;
    margin-top: 2px;
    cursor: pointer;
    accent-color: #0A58A5;
    flex-shrink: 0;
    border: 2px solid #DFE5EC;
    border-radius: 4px;
    background-color: #FFFFFF;
    display: block;
    position: relative;
}

.buy-credits-terms-input:checked {
    background-color: #0A58A5;
    border-color: #0A58A5;
    accent-color: #0A58A5;
}

.buy-credits-terms-input:checked::after {
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #FFFFFF;
    font-size: 14px;
    font-weight: bold;
}

.buy-credits-terms-input:focus {
    outline: 2px solid #EFF6FF;
    outline-offset: 2px;
}

.buy-credits-terms-text {
    font-size: 14px;
    font-weight: 400;
    color: #6E7F93;
    line-height: 1.5;
    font-family: "Open Sans", sans-serif;
}

/* Modal Footer */
.buy-credits-modal-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding: 24px;
    border-top: 1px solid #DFE5EC;
}

.buy-credits-modal-btn {
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
}

.buy-credits-modal-btn-cancel {
    background-color: #F6F7F8;
    color: #6E7F93;
}

.buy-credits-modal-btn-cancel:hover {
    background-color: #DFE5EC;
    color: #1F2937;
}

.buy-credits-modal-btn-submit {
    background-color: #0A58A5;
    color: #FFFFFF;
}

.buy-credits-modal-btn-submit:hover:not(:disabled):not(.disabled) {
    background-color: #084A8A;
}

.buy-credits-modal-btn-submit:disabled,
.buy-credits-modal-btn-submit.disabled {
    background-color: #0A58A5;
    color: #FFFFFF;
    cursor: not-allowed;
    opacity: 0.5;
}

/* Modal Allouer des crédits - Styles similaires au modal d'achat */
.allocate-credits-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.allocate-credits-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
}

.allocate-credits-modal-content {
    position: relative;
    background-color: #ffffff;
    border-radius: 12px;
    width: 100%;
    max-width: 600px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    z-index: 1;
}

.allocate-credits-modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 24px;
    border-bottom: 1px solid #DFE5EC;
}

.allocate-credits-modal-header-text {
    flex: 1;
}

.allocate-credits-modal-title {
    font-size: 20px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.allocate-credits-modal-close {
    background: none;
    border: none;
    color: #6E7F93;
    font-size: 20px;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
    margin-left: 16px;
}

.allocate-credits-modal-close:hover {
    color: #1F2937;
}

.allocate-credits-modal-body {
    padding: 24px;
    overflow-y: auto;
    flex: 1;
}

.allocate-credits-balance-section {
    background-color: #F9FAFB;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 24px;
}

.allocate-credits-balance-label {
    font-size: 14px;
    font-weight: 500;
    color: #6E7F93;
    margin-bottom: 8px;
}

.allocate-credits-balance-value {
    font-size: 24px;
    font-weight: 700;
    color: #0A58A5;
}

.allocate-credits-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.allocate-credits-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.allocate-credits-label {
    font-size: 14px;
    font-weight: 600;
    color: #223245;
}

.allocate-credits-label .required {
    color: #DC2626;
}

.allocate-credits-select,
.allocate-credits-input {
    padding: 12px 16px;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    color: #223245;
    background-color: #FFFFFF;
    transition: border-color 0.2s ease;
    width: 100%;
}

.allocate-credits-select:focus,
.allocate-credits-input:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.allocate-credits-textarea {
    padding: 12px 16px;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    font-size: 14px;
    font-family: "Open Sans", sans-serif;
    color: #223245;
    background-color: #FFFFFF;
    transition: border-color 0.2s ease;
    width: 100%;
    resize: vertical;
}

.allocate-credits-textarea:focus {
    outline: none;
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.allocate-credits-form .allocate-credits-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 24px 0 0 0;
    border-top: 1px solid #DFE5EC;
    margin-top: 8px;
}

.allocate-credits-modal-btn {
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
}

.allocate-credits-modal-btn-cancel {
    background-color: #FFFFFF;
    color: #223245;
    border: 1px solid #DFE5EC;
}

.allocate-credits-modal-btn-cancel:hover {
    background-color: #F9FAFB;
}

.allocate-credits-modal-btn-submit {
    background-color: #0A58A5;
    color: #FFFFFF;
}

.allocate-credits-modal-btn-submit:hover:not(:disabled) {
    background-color: #084a8f;
}

.allocate-credits-modal-btn-submit:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.buy-credits-modal-btn-submit:disabled:hover,
.buy-credits-modal-btn-submit.disabled:hover {
    background-color: #0A58A5;
    color: #FFFFFF;
    cursor: not-allowed;
    opacity: 0.5;
}

.notification-preferences{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.notification-preference-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.notification-preference-item .notification-preference-title{
    font-size: 14px;
    font-weight: 600;
    color: #1F2937;
    font-family: "Open Sans", sans-serif;
}

.notification-preference-item .notification-preference-description{
    font-size: 13px;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
    line-height: 1.4;
}

.notification-preference-toggle{
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    flex-shrink: 0;
    cursor: pointer;
    margin: 0;
}

.notification-preference-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.notification-preference-toggle input:checked + .notification-toggle-slider {
    background-color: #0A58A5;
}

.notification-toggle-slider {
    position: absolute;
    inset: 0;
    background-color: #D1D5DB;
    border-radius: 24px;
    transition: all 0.25s ease;
}

.notification-toggle-slider::before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    left: 3px;
    bottom: 3px;
    background-color: #ffffff;
    border-radius: 50%;
    transition: transform 0.25s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.notification-preference-toggle input:checked + .notification-toggle-slider::before {
    transform: translateX(20px);
}
/* ===== Profile Page ===== */
.profile-content{
    height: 100vh;
}

.profile-page{
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* ===== Header (style discussions) ===== */
.profile-page-header{
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 64px;
    min-height: 64px;
    padding: 0 30px;
    animation: profileFadeUp 0.4s ease-out both;
}

.profile-page-header-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.profile-page-title{
    display: flex;
    align-items: center;
    gap: 10px;
}

.profile-page-title-avatar{
    width: 32px;
    height: 32px;
    border-radius: 10px;
    object-fit: cover;
}

.profile-page-title-initials{
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: rgba(10, 88, 165, 0.1);
    color: #0A58A5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    font-family: "Open Sans", sans-serif;
    flex-shrink: 0;
}

.profile-page-title span{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
}

.profile-export-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 12px;
    background: #0A58A5;
    padding: 0 17px;
    height: 38px;
    text-decoration: none;
    transition: background 0.2s;
    color: #FFF;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 700;
}

.profile-export-btn:hover{
    background: #084a8a;
}

.profile-export-btn i{
    font-size: 13px;
}

/* ===== Tabs Navigation ===== */
.profile-tabs-nav{
    display: flex;
    align-items: center;
    gap: 0;
    padding: 0 30px;
    background: #FFF;
    border-bottom: 1px solid var(--stroke-1, #DFE5EC);
    min-height: 48px;
}

.profile-tab-btn{
    padding: 14px 20px;
    border: none;
    background: transparent;
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
    white-space: nowrap;
}

.profile-tab-btn:hover{
    color: #0A58A5;
}

.profile-tab-btn.active{
    color: #0A58A5;
    border-bottom-color: #0A58A5;
}

/* ===== Page Layout (scrollable area) ===== */
.profile-page-layout{
    flex: 1;
    overflow: auto;
    padding: 30px;
    height: calc(100vh - 114px);
}

.profile-main-content{
    margin-top: 0;
}

/* ===== Overview Tab Layout ===== */
.profile-content-layout{
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 28px;
}

.profile-main-content{
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* ===== User Card ===== */
.profile-user-card{
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 28px;
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    animation: profileFadeUp 0.4s ease-out both;
}

.profile-user-avatar{
    width: 72px;
    height: 72px;
    min-width: 72px;
    border-radius: 50%;
    background: var(--Dgrad, linear-gradient(97deg, #0A58A5 -8.25%, #161921 134.93%));
    color: #FFF;
    font-family: "Open Sans";
    font-size: 24px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 1px;
}

.profile-user-info{
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
}

.profile-user-name{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
    margin: 0;
}

.profile-user-details{
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.profile-user-detail-item{
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
}

.profile-user-detail-item i{
    font-size: 12px;
    color: #0A58A5;
}

.profile-user-tags{
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 2px;
}

.profile-tag{
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: 20px;
    background: rgba(10, 88, 165, 0.08);
    color: #0A58A5;
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
}

.profile-edit-button{
    align-self: flex-start;
    margin-top: 4px;
    padding: 7px 20px;
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    color: var(--Color0, #445972);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.profile-edit-button:hover{
    background: #F6F7F8;
    border-color: #0A58A5;
    color: #0A58A5;
}

/* ===== Profile Avatar ===== */
.profile-avatar-img{
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.profile-avatar-upload-group{
    margin-bottom: 4px;
}

.profile-avatar-upload{
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 8px;
}

.profile-avatar-preview{
    width: 72px;
    height: 72px;
    min-width: 72px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--Dgrad, linear-gradient(97deg, #0A58A5 -8.25%, #161921 134.93%));
    display: flex;
    align-items: center;
    justify-content: center;
}

.profile-avatar-placeholder{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 1px;
}

.profile-avatar-input{
    display: none;
}

.profile-avatar-upload-info{
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.profile-avatar-upload-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    color: var(--Color0, #445972);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.profile-avatar-upload-btn:hover{
    background: #F6F7F8;
    border-color: #0A58A5;
    color: #0A58A5;
}

/* ===== Profile Completion Section ===== */
.profile-completion-section{
    padding: 28px;
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    animation: profileFadeUp 0.4s ease-out 0.1s both;
}

.profile-completion-title{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 16px;
    font-weight: 700;
    line-height: 22px;
    margin: 0 0 20px 0;
}

/* Progress Bar */
.profile-progress-bar-container{
    margin-bottom: 24px;
}

.profile-progress-bar-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.profile-progress-label{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 500;
}

.profile-progress-percentage{
    color: #0A58A5;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 700;
}

.profile-progress-bar{
    width: 100%;
    height: 8px;
    background: #E8ECF1;
    border-radius: 4px;
    overflow: hidden;
}

.profile-progress-fill{
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, #0A58A5, #1E7FD9);
    transition: width 0.8s ease;
}

/* Completion Steps */
.profile-completion-steps{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.profile-completion-step{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 20px;
    border-radius: 14px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FAFBFC;
    transition: all 0.2s;
}

.profile-completion-step.active{
    border-color: #0A58A5;
    background: #F0F7FF;
}

.profile-completion-step.completed{
    border-color: #D1FAE5;
    background: #F0FDF4;
}

.profile-completion-step.locked{
    opacity: 0.55;
}

.step-content{
    flex: 1;
}

.step-title{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    margin: 0;
}

.profile-completion-step.completed .step-title::before{
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #10B981;
    margin-right: 8px;
    font-size: 12px;
}

.step-description{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
    margin: 2px 0 0 0;
}

.step-action-button{
    padding: 7px 18px;
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    color: var(--Color0, #445972);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}

.step-action-button:hover{
    background: #F6F7F8;
}

.step-action-button.primary{
    background: #0A58A5;
    color: #FFF;
    border-color: #0A58A5;
}

.step-action-button.primary:hover{
    background: #084a8a;
}

.step-action-button:disabled{
    cursor: not-allowed;
    opacity: 0.5;
}

/* ===== Profile Sidebar ===== */
.profile-sidebar{
    display: flex;
    flex-direction: column;
    gap: 20px;
    animation: profileFadeUp 0.4s ease-out 0.15s both;
}

.profile-sidebar-card{
    padding: 24px;
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
}

.sidebar-card-title{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 15px;
    font-weight: 700;
    line-height: 20px;
    margin: 0 0 4px 0;
}

.sidebar-card-subtitle{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
    margin: 0 0 16px 0;
}

.sidebar-card-description{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    margin: 4px 0 16px 0;
}

/* Personalization Options */
.personalization-options{
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.personalization-option{
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.option-label{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
}

.option-description{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
}

.channel-buttons{
    display: flex;
    gap: 8px;
    margin-top: 4px;
}

.channel-button{
    padding: 6px 14px;
    border-radius: 8px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    color: var(--Color0, #445972);
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.channel-button:hover{
    border-color: #0A58A5;
    color: #0A58A5;
}

.channel-button.active{
    background: #0A58A5;
    color: #FFF;
    border-color: #0A58A5;
}

.learn-more-button{
    width: 100%;
    padding: 10px;
    border-radius: 10px;
    border: 1px solid #0A58A5;
    background: #FFF;
    color: #0A58A5;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.learn-more-button:hover{
    background: rgba(10, 88, 165, 0.06);
}

/* ===== Learn More Modal ===== */
.learn-more-modal-overlay{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.learn-more-modal{
    background: #FFF;
    border-radius: 20px;
    width: 100%;
    max-width: 540px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
    animation: scaleIn 0.25s ease-out;
}

.learn-more-modal-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px 28px 0;
}

.learn-more-modal-header h3{
    font-size: 18px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.learn-more-modal-close{
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: none;
    background: #F3F6F9;
    color: #6E7F93;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .15s ease;
}

.learn-more-modal-close:hover{
    background: #E8ECF1;
    color: #223245;
}

.learn-more-modal-body{
    padding: 24px 28px 28px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.learn-more-item{
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.learn-more-item-icon{
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: rgba(10, 88, 165, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #0A58A5;
    flex-shrink: 0;
}

.learn-more-item h4{
    font-size: 14px;
    font-weight: 700;
    color: #223245;
    margin: 0 0 4px 0;
    font-family: "Open Sans", sans-serif;
}

.learn-more-item p{
    font-size: 13px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0;
    line-height: 1.5;
    font-family: "Open Sans", sans-serif;
}

/* ===== Profile Forms (Quick Profile & AI Assistant) ===== */
.profile-form-card{
    padding: 28px;
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    animation: profileFadeUp 0.4s ease-out both;
}

.profile-form-header{
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--stroke-1, #DFE5EC);
}

.profile-form-title{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
    margin: 0 0 4px 0;
}

.profile-form-subtitle{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    margin: 0;
}

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

.profile-form-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.profile-form-label{
    display: block;
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 600;
}

.form-group select{
    height: fit-content;
}

.profile-form-input{
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    border-radius: 10px;
    background: #F6F7F8;
    font-family: "Open Sans";
    font-size: 14px;
    color: #22364D;
    outline: none;
    transition: border-color 0.2s;
    box-sizing: border-box;
    height: 42px;
}

.profile-form-input:focus{
    border-color: #0A58A5;
    background: #FFF;
}

.profile-form-hint{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 400;
    margin: 4px 0 0 0;
}

.profile-form-actions{
    display: flex;
    justify-content: flex-end;
    padding-top: 10px;
}

.profile-form-submit-button{
    padding: 10px 28px;
    border-radius: 12px;
    background: #0A58A5;
    color: #FFF;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
    height: 42px;
}

.profile-form-submit-button:hover{
    background: #084a8a;
}

/* ===== Detailed Profile ===== */
.detailed-profile-section{
    animation: profileFadeUp 0.4s ease-out both;
}

.detailed-profile-section-title{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 20px 0;
}

.detailed-profile-form{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Collapsible Sections */
.collapsible-section{
    border-radius: 16px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.collapsible-section-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px;
    cursor: pointer;
    transition: background 0.2s;
}

.collapsible-section-header:hover{
    background: #FAFBFC;
}

.collapsible-section-title{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 15px;
    font-weight: 700;
    margin: 0;
}

.collapsible-section-icon{
    color: #6E7F93;
    transition: transform 0.3s;
}

.collapsible-section.open .collapsible-section-icon{
    transform: rotate(180deg);
}

.collapsible-section-content{
    padding: 0 22px 22px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.detailed-form-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.detailed-form-label{
    display: block;
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 6px;
}

.detailed-form-input{
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    border-radius: 10px;
    background: #F6F7F8;
    font-family: "Open Sans";
    font-size: 14px;
    color: #22364D;
    outline: none;
    transition: border-color 0.2s;
    box-sizing: border-box;
    height: 42px;
}

.detailed-form-input:focus{
    border-color: #0A58A5;
    background: #FFF;
}

.detailed-form-input[readonly]{
    opacity: 0.6;
    cursor: not-allowed;
}

/* Phone input with indicatif */
.phone-input-wrapper{
    display: flex;
    align-items: center;
    border: 1px solid var(--stroke-1, #DFE5EC);
    border-radius: 10px;
    background: #F6F7F8;
    overflow: hidden;
    transition: border-color 0.2s;
}

.phone-input-wrapper:focus-within{
    border-color: #0A58A5;
    background: #FFF;
}

.phone-indicatif{
    padding: 0 12px;
    font-size: 14px;
    font-weight: 600;
    color: #445972;
    font-family: "Open Sans", sans-serif;
    white-space: nowrap;
    border-right: 1px solid #DFE5EC;
    height: 42px;
    display: flex;
    align-items: center;
    background: #EDF0F3;
    flex-shrink: 0;
}

.phone-number-input.detailed-form-input{
    border: none;
    border-radius: 0;
    background: transparent;
    flex: 1;
}

.phone-number-input.detailed-form-input:focus{
    border: none;
    background: transparent;
}

.detailed-form-hint{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 400;
    margin: 4px 0 0 0;
}

.detailed-form-textarea{
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    border-radius: 10px;
    background: #F6F7F8;
    font-family: "Open Sans";
    font-size: 14px;
    color: #22364D;
    outline: none;
    transition: border-color 0.2s;
    box-sizing: border-box;
    resize: vertical;
}

.detailed-form-textarea:focus{
    border-color: #0A58A5;
    background: #FFF;
}

/* Slider */
.slider-container{
    display: flex;
    align-items: center;
    gap: 16px;
}

.availability-slider{
    flex: 1;
    -webkit-appearance: none;
    height: 6px;
    border-radius: 3px;
    background: #E8ECF1;
    outline: none;
}

.availability-slider::-webkit-slider-thumb{
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #0A58A5;
    cursor: pointer;
    border: 3px solid #FFF;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.slider-value{
    color: #0A58A5;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 700;
    min-width: 45px;
    text-align: center;
}

/* Domaines Checkboxes */
.domaines-checkboxes{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}

.domaine-checkbox{
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.domaine-checkbox input[type="checkbox"]{
    width: 16px;
    height: 16px;
    accent-color: #0A58A5;
}

.checkbox-label{
    color: var(--Color0, #445972);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 500;
}

/* Yes/No Buttons */
.yes-no-buttons{
    display: flex;
    gap: 10px;
}

.yes-no-radio{
    display: none;
}

.yes-no-button{
    padding: 8px 24px;
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    color: var(--Color0, #445972);
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.yes-no-button:hover{
    border-color: #0A58A5;
}

.yes-no-button.active{
    background: #0A58A5;
    color: #FFF;
    border-color: #0A58A5;
}

.detailed-form-actions{
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}

.detailed-form-submit-button{
    padding: 10px 28px;
    border-radius: 12px;
    background: #0A58A5;
    color: #FFF;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
    height: 42px;
}

.detailed-form-submit-button:hover{
    background: #084a8a;
}

/* ===== Settings Page ===== */
.settings-content{
    height: auto;
}

.settings-page{
    height: auto;
    display: flex;
    flex-direction: column;
    overflow: visible;
}

.settings-page-header{
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 64px;
    min-height: 64px;
    padding: 0 30px;
    animation: profileFadeUp 0.4s ease-out both;
}

.settings-page-header-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.settings-page-title{
    display: flex;
    align-items: center;
    gap: 10px;
}

.settings-page-title i{
    font-size: 18px;
    color: var(--Color-Texte, #22364D);
}

.settings-page-title span{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
}

.settings-page-layout{
    flex: 1;
    overflow: auto;
    padding: 30px;
}

/* Danger tab button */
.profile-tab-btn.danger{
    color: #EF4444;
}

.profile-tab-btn.danger.active{
    color: #EF4444;
    border-bottom-color: #EF4444;
}

/* ===== Sessions List ===== */
.active-sessions-list{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.active-session-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px;
    border-radius: 14px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FAFBFC;
    transition: all 0.2s;
}

.active-session-item.current-session{
    border-color: #0A58A5;
    background: #F0F7FF;
}

.session-info{
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.session-device{
    display: flex;
    align-items: center;
    gap: 10px;
}

.session-device strong{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 700;
}

.current-session-badge{
    display: inline-flex;
    padding: 2px 10px;
    border-radius: 20px;
    background: rgba(10, 88, 165, 0.1);
    color: #0A58A5;
    font-family: "Open Sans";
    font-size: 11px;
    font-weight: 600;
}

.session-details{
    display: flex;
    align-items: center;
    gap: 14px;
}

.session-location{
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 500;
}

.session-location i{
    font-size: 11px;
    color: #0A58A5;
}

.status-badge{
    display: inline-flex;
    padding: 2px 8px;
    border-radius: 20px;
    font-family: "Open Sans";
    font-size: 11px;
    font-weight: 600;
}

.status-badge.active{
    background: #D1FAE5;
    color: #059669;
}

.session-time{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 400;
}

.no-sessions-message{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 14px;
    text-align: center;
    padding: 30px;
}

/* ===== RGPD Section ===== */
.rgpd-section{
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.rgpd-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 22px;
    border-radius: 14px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FAFBFC;
}

.rgpd-item-title{
    color: var(--Color-Texte, #22364D);
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 700;
    margin: 0 0 4px 0;
}

.rgpd-item-description{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
    margin: 0;
}

.rgpd-export-button{
    display: inline-flex;
    align-items: center;
    padding: 8px 18px;
    border-radius: 10px;
    border: 1px solid #0A58A5;
    background: #FFF;
    color: #0A58A5;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
    white-space: nowrap;
}

.rgpd-export-button:hover{
    background: rgba(10, 88, 165, 0.06);
}

/* Toggle Switch */
.rgpd-toggle-form{
    display: flex;
    align-items: center;
}

.rgpd-toggle-switch{
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    cursor: pointer;
}

.rgpd-toggle-switch input{
    opacity: 0;
    width: 0;
    height: 0;
}

.rgpd-toggle-slider{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #DFE5EC;
    border-radius: 24px;
    transition: all 0.3s;
}

.rgpd-toggle-slider::before{
    content: "";
    position: absolute;
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background: #FFF;
    border-radius: 50%;
    transition: all 0.3s;
}

.rgpd-toggle-switch input:checked + .rgpd-toggle-slider{
    background: #0A58A5;
}

.rgpd-toggle-switch input:checked + .rgpd-toggle-slider::before{
    transform: translateX(20px);
}

/* ===== Danger Zone ===== */
.danger-zone-card{
    padding: 24px;
    border-radius: 14px;
    border: 1px solid #FECACA;
    background: #FEF2F2;
}

.danger-zone-title{
    color: #DC2626;
    font-family: "Open Sans";
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 8px 0;
}

.danger-zone-warning{
    color: #7F1D1D;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    margin: 0 0 20px 0;
}

.delete-account-form{
    display: inline;
}

.delete-account-button{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 10px;
    background: #DC2626;
    color: #FFF;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}

.delete-account-button:hover{
    background: #B91C1C;
}

/* ===== Animations ===== */
@keyframes profileFadeUp{
    from{
        opacity: 0;
        transform: translateY(20px);
    }
    to{
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===== Responsive ===== */
@media (max-width: 1024px){
    .profile-content-layout{
        grid-template-columns: 1fr;
    }

    .profile-sidebar{
        flex-direction: row;
    }

    .profile-sidebar-card{
        flex: 1;
    }
}

@media (max-width: 768px){
    .profile-page-header{
        padding: 0 15px;
    }

    .profile-export-btn span{
        display: none;
    }

    .profile-tabs-nav{
        padding: 0 15px;
        overflow-x: auto;
    }

    .profile-tab-btn{
        padding: 12px 14px;
        font-size: 13px;
    }

    .profile-page-layout{
        padding: 20px 15px;
        height: calc(100% - 48px);
        overflow: scroll;
    }

    .profile-content-layout{
        padding: 0;
        gap: 16px;
    }

    .profile-user-card{
        flex-direction: column;
        text-align: center;
        padding: 24px 20px;
    }

    .profile-user-details{
        justify-content: center;
    }

    .profile-user-tags{
        justify-content: center;
    }

    .profile-edit-button{
        align-self: center;
    }

    .profile-completion-section{
        padding: 20px;
    }

    .profile-form-grid,
    .detailed-form-grid{
        grid-template-columns: 1fr;
    }

    .profile-sidebar{
        flex-direction: column;
    }

    .profile-form-card{
        padding: 20px;
    }

    /* Settings responsive */
    .settings-page-header{
        padding: 0 15px;
    }

    .settings-page-layout{
        padding: 20px 15px;
    }

    .rgpd-item{
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .delete-account-button span{
        font-size: 12px;
    }
}
/* ═══════════════════════════════════════════════════
   CREDITS & PAIEMENTS — Layout
   ═══════════════════════════════════════════════════ */

.credits-content{
    height: 100vh;
}

.credits-page-header{
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 64px;
    padding: 0 30px;
}

.credits-page-header-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.credits-page-header-left{
    display: flex;
    align-items: center;
}

.credits-page-title{
    display: flex;
    align-items: center;
    gap: 10px;
    color: #223245;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
}

.credits-page-title i{
    color: #0A58A5;
    font-size: 18px;
}

.credits-page-layout{
    padding: 30px;
    height: calc(100vh - 64px);
    overflow: scroll;
}

.hidden{
    display: none !important;
}

/* ═══════════════════════════════════════════════════
   CREDITS — Hero (style favoris)
   ═══════════════════════════════════════════════════ */

.credits-hero{
    border-radius: 20px;
    background: var(--gar, linear-gradient(97deg, #0A58A5 -8.25%, #161921 134.93%));
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -4px rgba(0, 0, 0, 0.10);
    padding: 24px;
    animation: scaleIn 0.5s ease-out 0.1s both;
}

.credits-hero-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.credits-hero-label{
    color: #BEDBFF;
    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    animation: fadeUp 0.4s ease-out 0.2s both;
}

.credits-hero-amount{
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-top: 8px;
    animation: fadeUp 0.4s ease-out 0.25s both;
}

.credits-hero-value{
    color: #FFF;
    font-family: "Open Sans", sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
}

.credits-hero-unit{
    color: rgba(255, 255, 255, 0.80);
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    font-weight: 600;
}

.credits-hero-description{
    margin-top: 10px;
    color: #DBEAFE;
    font-family: "Open Sans", sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    max-width: 500px;
    animation: fadeUp 0.4s ease-out 0.3s both;
}

.credits-hero-stats{
    display: flex;
    gap: 10px;
}

.credits-hero-stat{
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    background: rgba(0, 0, 0, 0.10);
    padding: 12px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 90px;
    animation: fadeUp 0.4s ease-out both;
}

.credits-hero-stat:nth-child(1){ animation-delay: 0.2s; }
.credits-hero-stat:nth-child(2){ animation-delay: 0.25s; }
.credits-hero-stat:nth-child(3){ animation-delay: 0.3s; }

.credits-hero-stat-value{
    color: #FFF;
    font-family: "Open Sans", sans-serif;
    font-size: 22px;
    font-weight: 700;
}

.credits-hero-stat-label{
    color: #BEDBFF;
    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.credits-hero-cta{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #FFF;
    border-radius: 12px;
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 16px;
    animation: fadeUp 0.4s ease-out 0.35s both;
}

.credits-hero-cta:hover{
    background: rgba(255, 255, 255, 0.25);
}

.credits-hero-cta i{
    font-size: 12px;
}

/* ═══════════════════════════════════════════════════
   CREDITS — Tabs (style favoris)
   ═══════════════════════════════════════════════════ */

.credits-tabs-wrapper{
    margin: 20px 0;
    animation: fadeUp 0.4s ease-out 0.35s both;
}

.credits-tabs{
    display: flex;
    gap: 10px;
    border-radius: 12px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 5px;
}

.credits-tab{
    border: none;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    transition: all .2s ease-in-out;
    background: transparent;
    cursor: pointer;
    border-radius: 8px;
    font-family: "Open Sans", sans-serif;
    white-space: nowrap;
}

.credits-tab:hover{
    color: #223245;
    background: #F8F9FA;
}

.credits-tab.active{
    background: #0A58A5;
    color: #fff;
}

.credits-tab i{
    font-size: 13px;
}

/* ═══════════════════════════════════════════════════
   CREDITS — Transaction Filters
   ═══════════════════════════════════════════════════ */

.credits-filters{
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    animation: fadeUp 0.4s ease-out 0.4s both;
}

.credits-filter-btn{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: #FFF;
    border: 1px solid #DFE5EC;
    border-radius: 10px;
    color: #6E7F93;
    font-size: 13px;
    font-weight: 500;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all .2s ease;
}

.credits-filter-btn:hover{
    background: #F8F9FA;
    color: #223245;
}

.credits-filter-btn.active{
    background: #0A58A5;
    border-color: #0A58A5;
    color: #FFF;
}

.credits-filter-btn.filter-credit{
    border-color: #10B981;
    color: #10B981;
}

.credits-filter-btn.filter-credit:hover{
    background: #D1FAE5;
}

.credits-filter-btn.filter-credit.active{
    background: #10B981;
    border-color: #10B981;
    color: #FFF;
}

.credits-filter-btn.filter-debit{
    border-color: #DC2626;
    color: #DC2626;
}

.credits-filter-btn.filter-debit:hover{
    background: #FEE2E2;
}

.credits-filter-btn.filter-debit.active{
    background: #DC2626;
    border-color: #DC2626;
    color: #FFF;
}

.credits-filter-btn i{
    font-size: 11px;
}

/* ═══════════════════════════════════════════════════
   CREDITS — Transaction Items
   ═══════════════════════════════════════════════════ */

.credits-transactions{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.credits-transaction-item{
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    background: #FFF;
    border: 1px solid #DFE5EC;
    border-radius: 16px;
    transition: all .2s ease;
    animation: scaleIn 0.4s ease-out both;
}

.credits-transaction-item:nth-child(1){ animation-delay: 0.4s; }
.credits-transaction-item:nth-child(2){ animation-delay: 0.45s; }
.credits-transaction-item:nth-child(3){ animation-delay: 0.5s; }
.credits-transaction-item:nth-child(4){ animation-delay: 0.55s; }
.credits-transaction-item:nth-child(5){ animation-delay: 0.6s; }
.credits-transaction-item:nth-child(6){ animation-delay: 0.65s; }
.credits-transaction-item:nth-child(7){ animation-delay: 0.7s; }
.credits-transaction-item:nth-child(8){ animation-delay: 0.75s; }

.credits-transaction-item:hover{
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    transform: translateY(-1px);
}

.credits-transaction-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    flex-shrink: 0;
    font-size: 16px;
}

.credits-transaction-icon.credit{
    background: #D1FAE5;
    color: #10B981;
}

.credits-transaction-icon.debit{
    background: #FEE2E2;
    color: #DC2626;
}

.credits-transaction-details{
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.credits-transaction-title{
    font-size: 14px;
    font-weight: 600;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

.credits-transaction-meta{
    font-size: 12px;
    font-weight: 400;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
}

.credits-transaction-separator{
    margin: 0 4px;
    color: #DFE5EC;
}

.credits-transaction-amount{
    font-size: 15px;
    font-weight: 700;
    font-family: "Open Sans", sans-serif;
    white-space: nowrap;
}

.credits-transaction-amount.credit{
    color: #10B981;
}

.credits-transaction-amount.debit{
    color: #DC2626;
}

/* ═══════════════════════════════════════════════════
   CREDITS — Empty State
   ═══════════════════════════════════════════════════ */

.credits-empty-state{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
    text-align: center;
    border-radius: 20px;
    background: #FFF;
    border: 1px solid #DFE5EC;
    animation: fadeUp 0.5s ease-out 0.4s both;
}

.credits-empty-state i{
    font-size: 48px;
    color: #DFE5EC;
    margin-bottom: 16px;
}

.credits-empty-state h3{
    font-size: 16px;
    font-weight: 700;
    color: #223245;
    margin: 0 0 8px 0;
    font-family: "Open Sans", sans-serif;
}

.credits-empty-state p{
    font-size: 14px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

/* ═══════════════════════════════════════════════════
   CREDITS — Pack Cards
   ═══════════════════════════════════════════════════ */

.credits-packs-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
    margin-bottom: 24px;
}

.credits-pack-card{
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    transition: all .25s ease-in-out;
    position: relative;
    text-align: center;
    animation: scaleIn 0.5s ease-out both;
}

.credits-pack-card:nth-child(1){ animation-delay: 0.4s; }
.credits-pack-card:nth-child(2){ animation-delay: 0.5s; }
.credits-pack-card:nth-child(3){ animation-delay: 0.6s; }

.credits-pack-card:hover{
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    border-color: #0A58A5;
}

.credits-pack-card.selected{
    border-color: #0A58A5;
    background: #EFF6FF;
    box-shadow: 0 0 0 2px rgba(10, 88, 165, 0.2);
}

.credits-pack-card.popular{
    border-color: #F59E0B;
}

.credits-pack-badge{
    position: absolute;
    top: -10px;
    right: 16px;
    background: linear-gradient(135deg, #F59E0B 0%, #D97706 100%);
    color: #FFF;
    font-size: 10px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Open Sans", sans-serif;
}

.credits-pack-icon{
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: rgba(10, 88, 165, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #0A58A5;
}

.credits-pack-card.selected .credits-pack-icon{
    background: rgba(10, 88, 165, 0.15);
}

.credits-pack-name{
    font-size: 16px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.credits-pack-amount{
    font-size: 26px;
    font-weight: 700;
    color: #0A58A5;
    font-family: "Open Sans", sans-serif;
}

.credits-pack-price{
    font-size: 14px;
    font-weight: 600;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
}

/* ═══════════════════════════════════════════════════
   CREDITS — Buy Mode Selector
   ═══════════════════════════════════════════════════ */

.credits-buy-mode-selector{
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
    background: #F3F6F9;
    padding: 4px;
    border-radius: 14px;
    width: fit-content;
}

.credits-buy-mode-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border: none;
    border-radius: 11px;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    color: #6E7F93;
    background: transparent;
    cursor: pointer;
    transition: all .2s ease;
}

.credits-buy-mode-btn:hover{
    color: #223245;
}

.credits-buy-mode-btn.active{
    background: #FFF;
    color: #0A58A5;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.credits-buy-mode-btn i{
    font-size: 13px;
}

/* ═══════════════════════════════════════════════════
   CREDITS — Custom Amount Card
   ═══════════════════════════════════════════════════ */

.credits-custom-card{
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    padding: 28px;
    margin-bottom: 24px;
    animation: scaleIn 0.5s ease-out 0.4s both;
}

.credits-custom-header{
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.credits-custom-icon{
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: rgba(10, 88, 165, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #0A58A5;
    flex-shrink: 0;
}

.credits-custom-title{
    font-size: 17px;
    font-weight: 700;
    color: #223245;
    margin: 0 0 4px 0;
    font-family: "Open Sans", sans-serif;
}

.credits-custom-subtitle{
    font-size: 13px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.credits-custom-input-group{
    margin-bottom: 20px;
}

.credits-custom-label{
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #445972;
    margin-bottom: 10px;
    font-family: "Open Sans", sans-serif;
}

.credits-custom-input-row{
    display: flex;
    align-items: center;
    gap: 0;
    max-width: 260px;
}

.credits-custom-step-btn{
    width: 44px;
    height: 44px;
    border: 1px solid #DFE5EC;
    background: #F9FAFB;
    color: #445972;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .15s ease;
    flex-shrink: 0;
}

.credits-custom-step-btn:first-child{
    border-radius: 12px 0 0 12px;
}

.credits-custom-step-btn:last-child{
    border-radius: 0 12px 12px 0;
}

.credits-custom-step-btn:hover{
    background: #EFF6FF;
    color: #0A58A5;
    border-color: #0A58A5;
}

.credits-custom-input{
    width: 100%;
    height: 44px;
    border: 1px solid #DFE5EC;
    border-left: none;
    border-right: none;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    color: #0A58A5;
    font-family: "Open Sans", sans-serif;
    outline: none;
    background: #FFF;
    -moz-appearance: textfield;
}

.credits-custom-input::-webkit-outer-spin-button,
.credits-custom-input::-webkit-inner-spin-button{
    -webkit-appearance: none;
    margin: 0;
}

.credits-custom-input:focus{
    border-color: #0A58A5;
}

.credits-custom-presets{
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.credits-custom-preset{
    padding: 6px 16px;
    border: 1px solid #DFE5EC;
    border-radius: 10px;
    background: #FFF;
    font-size: 13px;
    font-weight: 600;
    color: #445972;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all .15s ease;
}

.credits-custom-preset:hover{
    background: #EFF6FF;
    border-color: #0A58A5;
    color: #0A58A5;
}

/* ═══════════════════════════════════════════════════
   CREDITS — Payment Summary
   ═══════════════════════════════════════════════════ */

.credits-payment-summary{
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    padding: 24px;
    animation: fadeUp 0.5s ease-out 0.6s both;
}

.credits-payment-info{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.credits-payment-total{
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.credits-payment-label{
    font-size: 13px;
    font-weight: 500;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
}

.credits-payment-amount{
    font-size: 28px;
    font-weight: 700;
    color: #0A58A5;
    font-family: "Open Sans", sans-serif;
}

.credits-pay-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 32px;
    background: #0A58A5;
    color: #FFF;
    border: none;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all .2s ease;
}

.credits-pay-btn:hover{
    background: #084a8f;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(10, 88, 165, 0.3);
}

.credits-pay-btn i{
    font-size: 13px;
}

.credits-payment-note{
    font-size: 12px;
    font-weight: 400;
    color: #6E7F93;
    margin: 16px 0 0 0;
    font-family: "Open Sans", sans-serif;
    display: flex;
    align-items: center;
    gap: 6px;
}

.credits-payment-note i{
    color: #10B981;
    font-size: 13px;
}

/* ═══════════════════════════════════════════════════
   CREDITS — Referral Section
   ═══════════════════════════════════════════════════ */

.credits-referral{
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.credits-referral-header{
    display: flex;
    align-items: flex-start;
    gap: 20px;
    animation: fadeUp 0.4s ease-out 0.4s both;
}

.credits-referral-icon{
    width: 56px;
    height: 56px;
    background: rgba(10, 88, 165, 0.08);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.credits-referral-icon i{
    font-size: 24px;
    color: #0A58A5;
}

.credits-referral-text{
    flex: 1;
}

.credits-referral-label{
    font-size: 11px;
    font-weight: 700;
    color: #6E7F93;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Open Sans", sans-serif;
    display: block;
    margin-bottom: 6px;
}

.credits-referral-title{
    font-size: 22px;
    font-weight: 700;
    color: #223245;
    margin: 0 0 10px 0;
    font-family: "Open Sans", sans-serif;
}

.credits-referral-description{
    font-size: 14px;
    font-weight: 400;
    color: #6E7F93;
    line-height: 1.6;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

/* Referral Code Card */
.credits-referral-code-card{
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    padding: 24px;
    animation: scaleIn 0.5s ease-out 0.5s both;
}

.credits-referral-code-label{
    font-size: 11px;
    font-weight: 700;
    color: #6E7F93;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Open Sans", sans-serif;
    display: block;
    margin-bottom: 12px;
}

.credits-referral-code-row{
    display: flex;
    gap: 10px;
    align-items: center;
}

.credits-referral-code-input{
    flex: 1;
    padding: 10px 14px;
    background: #F6F7F8;
    border: 1px solid #DFE5EC;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

.credits-referral-code-input:focus{
    outline: none;
    border-color: #0A58A5;
    background: #FFF;
}

.credits-copy-btn{
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    background: #0A58A5;
    color: #FFF;
    border: none;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    cursor: pointer;
    transition: all .2s ease;
    white-space: nowrap;
}

.credits-copy-btn:hover{
    background: #084a8f;
}

.credits-copy-btn.copied{
    background: #10B981;
}

.credits-copy-btn i{
    font-size: 13px;
}

.credits-referral-hint{
    font-size: 13px;
    color: #6E7F93;
    margin: 12px 0 0 0;
    line-height: 1.5;
    font-family: "Open Sans", sans-serif;
}

/* Referral Stats */
.credits-referral-stats{
    animation: fadeUp 0.4s ease-out 0.6s both;
}

.credits-referral-stats-title{
    font-size: 12px;
    font-weight: 700;
    color: #6E7F93;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Open Sans", sans-serif;
    margin: 0 0 14px 0;
}

.credits-referral-stats-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.credits-referral-stat-card{
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}

.credits-referral-stat-icon{
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(10, 88, 165, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #0A58A5;
}

.credits-referral-stat-icon.earned{
    background: rgba(16, 185, 129, 0.10);
    color: #10B981;
}

.credits-referral-stat-value{
    font-size: 32px;
    font-weight: 700;
    color: #223245;
    font-family: "Open Sans", sans-serif;
}

.credits-referral-stat-value.earned{
    color: #10B981;
}

.credits-referral-stat-label{
    font-size: 13px;
    font-weight: 400;
    color: #6E7F93;
    font-family: "Open Sans", sans-serif;
}

/* ═══════════════════════════════════════════════════
   CREDITS — Sidebar Badge (kept)
   ═══════════════════════════════════════════════════ */

.sidebar-bottom .credit-badge{
    position: absolute;
    right: 16px;
    background-color: #0A58A5;
    color: #FFFFFF;
    font-size: 10px;
    font-weight: 700;
    border-radius: 10px;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    line-height: 1;
    border: 2px solid #FFFFFF;
}

.sidebar-bottom .notification-badge{
    position: absolute;
    right: 16px;
    background-color: #DC2626;
    color: #FFFFFF;
    font-size: 10px;
    font-weight: 700;
    border-radius: 10px;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    line-height: 1;
    border: 2px solid #FFFFFF;
}

/* ═══════════════════════════════════════════════════
   CREDITS — Responsive
   ═══════════════════════════════════════════════════ */

@media (max-width: 900px){
    .credits-hero-content{
        flex-direction: column;
        align-items: flex-start;
    }

    .credits-hero-stats{
        flex-wrap: wrap;
    }

    .credits-tabs{
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .credits-packs-grid{
        grid-template-columns: 1fr;
    }

    .credits-payment-info{
        flex-direction: column;
        align-items: stretch;
    }

    .credits-custom-header{
        flex-direction: column;
        align-items: flex-start;
    }

    .credits-referral-stats-grid{
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px){
    .credits-page-layout{
        padding: 20px 16px;
    }

    .credits-hero{
        padding: 20px;
    }

    .credits-hero-value{
        font-size: 32px;
    }

    .credits-hero-stats{
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        width: 100%;
    }

    .credits-hero-stat{
        min-width: auto;
        padding: 10px;
    }

    .credits-tab{
        padding: 8px 12px;
        font-size: 13px;
    }

    .credits-filters{
        flex-wrap: wrap;
    }

    .credits-referral-header{
        flex-direction: column;
    }

    .credits-referral-code-row{
        flex-direction: column;
    }

    .credits-copy-btn{
        width: 100%;
        justify-content: center;
    }
}
/* ═══════════════════════════════════════════════════
   NOTIFICATIONS — Layout
   ═══════════════════════════════════════════════════ */

.notifs-content{
    height: 100vh;
}

.notifs-page-header{
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 64px;
    padding: 0 30px;
}

.notifs-page-header-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.notifs-page-header-left{
    display: flex;
    align-items: center;
}

.notifs-page-title{
    display: flex;
    align-items: center;
    gap: 10px;
    color: #223245;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
}

.notifs-page-title i{
    color: #0A58A5;
    font-size: 18px;
}

.notifs-page-layout{
    padding: 30px;
    height: calc(100vh - 64px);
    overflow: scroll;
}

/* ═══════════════════════════════════════════════════
   NOTIFICATIONS — Hero
   ═══════════════════════════════════════════════════ */

.notifs-hero{
    border-radius: 20px;
    background: var(--gar, linear-gradient(97deg, #0A58A5 -8.25%, #161921 134.93%));
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -4px rgba(0, 0, 0, 0.10);
    padding: 20px;
    animation: scaleIn 0.5s ease-out 0.1s both;
}

.notifs-hero-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.notifs-hero-title{
    color: #FFF;
    font-family: "Open Sans", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
    animation: fadeUp 0.4s ease-out 0.2s both;
}

.notifs-hero-description{
    margin-top: 10px;
    color: #DBEAFE;
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    animation: fadeUp 0.4s ease-out 0.25s both;
}

.notifs-hero-stats{
    display: flex;
    gap: 10px;
}

.notifs-hero-stat{
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    background: rgba(0, 0, 0, 0.10);
    padding: 12px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 90px;
    animation: fadeUp 0.4s ease-out both;
}

.notifs-hero-stat:nth-child(1){ animation-delay: 0.2s; }
.notifs-hero-stat:nth-child(2){ animation-delay: 0.25s; }

.notifs-hero-stat-value{
    color: #FFF;
    font-family: "Open Sans", sans-serif;
    font-size: 22px;
    font-weight: 700;
}

.notifs-hero-stat-label{
    color: #BEDBFF;
    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* ═══════════════════════════════════════════════════
   NOTIFICATIONS — Controls (Tabs + Action)
   ═══════════════════════════════════════════════════ */

.notifs-controls{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 20px 0;
    animation: fadeUp 0.4s ease-out 0.35s both;
}

.notifs-tabs-wrapper{
    flex: 1;
}

.notifs-tabs{
    display: inline-flex;
    gap: 10px;
    border-radius: 12px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 5px;
}

.notifs-tab{
    border: none;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    transition: all .2s ease-in-out;
    background: transparent;
    cursor: pointer;
    border-radius: 8px;
    font-family: "Open Sans", sans-serif;
    white-space: nowrap;
}

.notifs-tab:hover{
    color: #223245;
    background: #F8F9FA;
}

.notifs-tab.active{
    background: #0A58A5;
    color: #fff;
}

.notifs-tab i{
    font-size: 13px;
}

.notifs-tab-count{
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.10);
}

.notifs-tab.active .notifs-tab-count{
    background: rgba(255, 255, 255, 0.20);
}

/* Mark all button */
.notifs-mark-all-form{
    flex-shrink: 0;
}

.notifs-mark-all-btn{
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: #FFF;
    border: 1px solid #DFE5EC;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
    color: #6E7F93;
    cursor: pointer;
    transition: all .2s ease;
    white-space: nowrap;
}

.notifs-mark-all-btn:hover{
    background: #F8F9FA;
    border-color: #0A58A5;
    color: #0A58A5;
}

.notifs-mark-all-btn i{
    font-size: 14px;
}

/* ═══════════════════════════════════════════════════
   NOTIFICATIONS — Card List
   ═══════════════════════════════════════════════════ */

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

.notifs-card{
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px;
    background: #FFF;
    border: 1px solid #DFE5EC;
    border-radius: 16px;
    transition: all .2s ease;
    position: relative;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    animation: scaleIn 0.4s ease-out both;
}

.notifs-card:nth-child(1){ animation-delay: 0.4s; }
.notifs-card:nth-child(2){ animation-delay: 0.45s; }
.notifs-card:nth-child(3){ animation-delay: 0.5s; }
.notifs-card:nth-child(4){ animation-delay: 0.55s; }
.notifs-card:nth-child(5){ animation-delay: 0.6s; }
.notifs-card:nth-child(6){ animation-delay: 0.65s; }
.notifs-card:nth-child(7){ animation-delay: 0.7s; }
.notifs-card:nth-child(8){ animation-delay: 0.75s; }

.notifs-card:hover{
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    transform: translateY(-1px);
    text-decoration: none;
    color: inherit;
}

.notifs-card.unread{
    border-color: #0A58A5;
    background: #F8FBFF;
}

/* Icon */
.notifs-card-icon{
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
}

.notifs-icon-success{
    background: #D1FAE5;
    color: #10B981;
}

.notifs-icon-payment{
    background: #DBEAFE;
    color: #0A58A5;
}

.notifs-icon-info{
    background: #F3F4F6;
    color: #6E7F93;
}

.notifs-icon-warning{
    background: #FEF3C7;
    color: #D97706;
}

.notifs-icon-danger{
    background: #FEE2E2;
    color: #DC2626;
}

/* Content */
.notifs-card-content{
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.notifs-card-title{
    font-size: 14px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

.notifs-card.unread .notifs-card-title{
    color: #0A58A5;
}

.notifs-card-description{
    font-size: 13px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0;
    line-height: 1.5;
    font-family: "Open Sans", sans-serif;
}

.notifs-card-time{
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 400;
    color: #B5C1D0;
    font-family: "Open Sans", sans-serif;
    margin-top: 2px;
}

.notifs-card-time i{
    font-size: 11px;
}

/* Unread dot */
.notifs-unread-dot{
    position: absolute;
    top: 18px;
    right: 18px;
    width: 9px;
    height: 9px;
    background: #0A58A5;
    border-radius: 50%;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.15);
}

/* ═══════════════════════════════════════════════════
   NOTIFICATIONS — Empty State
   ═══════════════════════════════════════════════════ */

.notifs-empty-state{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
    text-align: center;
    border-radius: 20px;
    background: #FFF;
    border: 1px solid #DFE5EC;
    animation: fadeUp 0.5s ease-out 0.4s both;
}

.notifs-empty-state i{
    font-size: 48px;
    color: #DFE5EC;
    margin-bottom: 16px;
}

.notifs-empty-state h3{
    font-size: 16px;
    font-weight: 700;
    color: #223245;
    margin: 0 0 8px 0;
    font-family: "Open Sans", sans-serif;
}

.notifs-empty-state p{
    font-size: 14px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0;
    font-family: "Open Sans", sans-serif;
}

/* ═══════════════════════════════════════════════════
   NOTIFICATIONS — Responsive
   ═══════════════════════════════════════════════════ */

@media (max-width: 768px){
    .notifs-content, .credits-content{
        height: calc(100vh - 56px - 77.5px) !important;
    }

    .notifs-page-layout, .credits-page-layout{
        height: calc(100% - 64px);
        padding: 20px;
    }

    .notifs-hero-content{
        flex-direction: column;
        align-items: start;
    }

    .notifs-controls{
        overflow: scroll;
        border-radius: 12px;
    }

    .credits-hero-cta, .credits-pay-btn{
        width: 100%;
        justify-content: center;
    }

    .credits-referral-code-input, .notifs-tabs{
        width: 100%;
    }

    .notifs-tabs{
        justify-content: space-between;
    }
}
.tendances-content{
    height: 100vh;
}

.tendances-page-header{
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    height: 64px;
    padding: 0 30px;
}

.tendances-page-header a{
    color: #0A58A5;
    display: flex;
    align-items: center;
    gap: 10px;
}

.tendances-page-title{
    display: flex;
    align-items: center;
}

.tendances-page-layout{
    padding: 30px;
    height: calc(100vh - 64px);
    overflow: scroll;
}

.tendances-pulse-section{
    display: flex;
    align-items: stretch;
    gap: 26px;
}

.tendances-pulse-section .pulse-marche-panel{
    width: 70%;
    border-radius: 20px;
background: var(--gar, linear-gradient(97deg, #0A58A5 -8.25%, #161921 134.93%));
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -4px rgba(0, 0, 0, 0.10);
padding: 20px;
}

.pulse-marche-panel h2{
    color: #FFF;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 120% */
}

.pulse-marche-description{
    color: #DBEAFE;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 166.667% */
    margin-top: 10px;
}

.pulse-marche-cards{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}

.pulse-marche-card{
    width: 50%;
    border-radius: 16px;
border: 1px solid var(--dee, #ffffff13);
background: rgba(0, 0, 0, 0.10);
padding: 12px;
}

.pulse-marche-card-title{
    color: #BEDBFF;
font-family: "Open Sans";
font-size: 12px;
font-style: normal;
font-weight: 400;
}

.pulse-marche-card-subtitle{
    color: #FFF;
font-family: "Open Sans";
font-size: 18px;
font-style: normal;
font-weight: 700;
margin-top: 10px;
}

.mots-cles-panel{
    width: 30%;
    border-radius: 20px;
border: 1px solid #DFE5EC;
background: var(--Linear, linear-gradient(144deg, #DFE5EC 11.42%, #FFF 75.57%));
padding: 20px;
}

.mots-cles-header{
    color: var(--Color2, #6E7F93);
font-family: "Open Sans";
font-size: 14px;
font-style: normal;
font-weight: 700;
line-height: 20px; /* 142.857% */
letter-spacing: 0.35px;
text-transform: uppercase;
display: flex;
align-items: center;
gap: 5px;
}

.mots-cles-tags{
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 5px;
}

.mots-cles-tag{
    border-radius: 14px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: start;
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 16px; /* 133.333% */
    padding: 0 8px;
    width: fit-content;
}

.tendances-search-bar{
    margin-top: 13px;
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    height: 46px;
    width: 50%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
}

.tendances-search-bar input{
    height: 100%;
    width: 100%;
    border: none;
}

.tendances-list{
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.tendance-card-new{
    border-radius: 15px;
border-right: 1px solid #F3F4F6;
background: #FFF;
padding: 20px;
/* gr1 */
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
display: flex;
gap: 10px;
}

.tendance-card-left{
    padding-right: 10px;
    border-right: 1px solid #DFE5EC;
    width: 65%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.tendance-card-top{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.tendance-category-wrapper{
    border-radius: 8px;
background: var(--fr, linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%));
padding: 2px 8px;
color: var(--white, #FFF);
font-family: "Open Sans";
font-size: 10px;
font-style: normal;
font-weight: 700;
line-height: 15px; /* 150% */
letter-spacing: 0.5px;
text-transform: uppercase;
}

.tendance-growth-indicator{
    border-radius: 7px;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px; /* 150% */
    padding: 2px 8px;
}

.tendance-growth-indicator.green{
    border: 1px solid #59B224;
    background: rgba(89, 178, 36, 0.10);
    color: #59B224;
}

.tendance-growth-indicator.red{
    border-radius: 7px;
    border: 1px solid #FC121B;
    background: rgba(252, 18, 27, 0.08);
    color: #FC121B;
}

.tendance-title-new{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px; /* 140% */
    margin: 15px 0;
}

.tendance-description-new{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px; /* 171.429% */
}

.tendance-opportunities{
    margin-top: 15px;
}

.tendance-opportunities-header{
    color: #223245;
font-family: "Open Sans";
font-size: 14px;
font-style: normal;
font-weight: 700;
line-height: 20px; /* 142.857% */
}

.tendance-opportunities-list{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}

.tendance-opportunity-btn{
    border-radius: 16px;
border: 1px solid var(--stroke-1, #DFE5EC);
background: #F9FAFB;
padding: 7px 22px;
display: flex;
align-items: center;
gap: 10px;
color: var(--Color0, #445972);
font-family: "Open Sans";
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: 20px; /* 166.667% */
}

.tendance-card-right{
    width: 35%;
}

.tendance-exploit-btn{
    border-radius: 10px;
    background: #0A58A5;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF;
    text-align: center;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
    margin-top: 20px;
}

.tendance-save-btn{
    border-radius: 10px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #6E7F93;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    margin-top: 8px;
    transition: all 0.25s ease;
    width: 100%;
}

.tendance-save-btn:hover{
    border-color: #0A58A5;
    color: #0A58A5;
    background: rgba(10, 88, 165, 0.04);
}

.tendance-save-btn.saved{
    border-color: #0A58A5;
    color: #0A58A5;
    background: rgba(10, 88, 165, 0.06);
}

.tendance-save-btn.saved:hover{
    border-color: #DC2626;
    color: #DC2626;
    background: rgba(220, 38, 38, 0.04);
}

.tendance-save-btn:disabled{
    opacity: 0.6;
    cursor: not-allowed;
}

.tendances-page-title span{
    color: var(--Color1, #223245);
    text-align: center;
    font-family: "Open Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
}

.tendance-graph-header{
    color: var(--Color-3, #B5C1D0);
text-align: center;
font-family: "Open Sans";
font-size: 12px;
font-style: normal;
font-weight: 700;
line-height: 16px; /* 133.333% */
text-transform: uppercase;
}

/* ========== Tendances Page Animations ========== */

.tendances-page-header{
    animation: fadeUp 0.4s ease-out both;
}

.pulse-marche-panel{
    animation: scaleIn 0.5s ease-out 0.1s both;
}

.mots-cles-panel{
    animation: scaleIn 0.5s ease-out 0.2s both;
}

.pulse-marche-card:nth-child(1){ animation: fadeUp 0.4s ease-out 0.25s both; }
.pulse-marche-card:nth-child(2){ animation: fadeUp 0.4s ease-out 0.35s both; }

.mots-cles-tag{
    animation: fadeUp 0.3s ease-out both;
}

.mots-cles-tag:nth-child(1){ animation-delay: 0.3s; }
.mots-cles-tag:nth-child(2){ animation-delay: 0.35s; }
.mots-cles-tag:nth-child(3){ animation-delay: 0.4s; }
.mots-cles-tag:nth-child(4){ animation-delay: 0.45s; }
.mots-cles-tag:nth-child(5){ animation-delay: 0.5s; }
.mots-cles-tag:nth-child(6){ animation-delay: 0.55s; }
.mots-cles-tag:nth-child(7){ animation-delay: 0.6s; }

.tendances-search-bar{
    animation: fadeUp 0.4s ease-out 0.3s both;
}

.tendance-card-new{
    animation: scaleIn 0.5s ease-out both;
}

.tendance-card-new:nth-child(1){ animation-delay: 0.35s; }
.tendance-card-new:nth-child(2){ animation-delay: 0.45s; }
.tendance-card-new:nth-child(3){ animation-delay: 0.55s; }
.tendance-card-new:nth-child(4){ animation-delay: 0.65s; }
.tendance-card-new:nth-child(5){ animation-delay: 0.75s; }
.tendance-card-new:nth-child(6){ animation-delay: 0.85s; }

/* ========== Search Animations ========== */

.tendances-search-bar{
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.tendances-search-bar:focus-within{
    border-color: #0A58A5;
    box-shadow: 0 0 0 3px rgba(10, 88, 165, 0.1);
}

.tendances-search-clear{
    background: none;
    border: none;
    color: #B5C1D0;
    cursor: pointer;
    padding: 4px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s, background 0.2s;
    opacity: 0;
    pointer-events: none;
}

.tendances-search-bar:has(input:not(:placeholder-shown)) .tendances-search-clear{
    opacity: 1;
    pointer-events: auto;
}

.tendances-search-clear:hover{
    color: #445972;
    background: #F3F4F6;
}

.tendances-result-count{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 500;
    margin-top: 10px;
    opacity: 0;
    transform: translateY(-5px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    height: 0;
    overflow: hidden;
}

.tendances-result-count.visible{
    opacity: 1;
    transform: translateY(0);
    height: auto;
}

.tendances-no-results{
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
    gap: 12px;
}

.tendances-no-results.visible{
    display: flex;
    animation: fadeUp 0.4s ease-out both;
}

.tendances-no-results i{
    font-size: 40px;
    color: #B5C1D0;
}

.tendances-no-results span{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 15px;
    font-weight: 500;
}

@keyframes cardHide {
    from {
        opacity: 1;
        transform: scale(1);
    }
    to {
        opacity: 0;
        transform: scale(0.96) translateY(10px);
    }
}

@keyframes cardShow {
    from {
        opacity: 0;
        transform: scale(0.96) translateY(10px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.tendance-card-hiding{
    animation: cardHide 0.25s ease-in both;
}

.tendance-card-hidden{
    display: none !important;
}

.tendance-card-show{
    animation: cardShow 0.35s ease-out both;
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — Mobile & Tablet (max-width: 768px)
   ═══════════════════════════════════════════════════ */

@media (max-width: 768px){
    .tendances-page-header, .tendances-page-layout{
        padding: 0 20px;
    }

    .tendances-page-layout{
        padding-top: 20px;
        height: calc(100% - 64px);
        padding-bottom: 20px;
    }

    .tendances-content{
        height: calc(100vh - 56px - 77.5px);
    }

    .tendances-pulse-section, .pulse-marche-cards, .tendance-card-new{
        flex-direction: column;
    }

    .pulse-marche-panel, .pulse-marche-card, 
    .mots-cles-panel, .tendances-search-bar,
    .tendance-opportunity-btn, .tendance-card-right{
        width: 100% !important;
    }

    .tendance-card-left{
        width: 100% !important;
        border-right: none;
    }

    .tendance-opportunities-list{
        flex-direction: column;
    }
}
.fiches-idees-hero{
    border-radius: 20px;
    background: var(--gar, linear-gradient(97deg, #0A58A5 -8.25%, #161921 134.93%));
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -4px rgba(0, 0, 0, 0.10);
    padding: 20px;
}

.fiches-idees-hero-badge{
    border-radius: 8px;
background: #EBF3FA;
width: fit-content;

}

.fiches-idees-hero-title{
    color: #FFF;
font-family: "Open Sans";
font-size: 20px;
font-style: normal;
font-weight: 700;
line-height: 24px; /* 120% */
}

.fiches-idees-hero-description{
    margin: 10px 0;
    color: #DBEAFE;
font-family: "Open Sans";
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 28px; /* 200% */
}

.fiches-idees-propose-btn{
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    height: 44px;
    padding: 12px 33px;
    color: #0A58A5;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
}

.fiches-idees-search-filters{
    margin: 17px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.fiches-idees-search-bar, .fiches-idees-filter-pills{
    border-radius: 12px;
border: 1px solid var(--stroke-1, #DFE5EC);
background: #FFF;
width: 50%;
height: 44px;
display: flex;
align-items: center;
padding: 0 10Px;
gap: 10px;
}

.fiches-idees-search-bar input{
    height: 100%;
    width: 100%;
    border: none;
    border-radius: 12px;
}

.fiches-idees-tabs-filters{
    display: flex;
    flex-direction: row-reverse;
    gap: 20px;
}

.fiches-idees-tabs{
    display: flex;
    gap: 10px;
    border-radius: 12px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    height: 44px;
    padding: 5px;
}

.fiches-idees-tabs button{
    border: none;
    padding: 0 15px;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--Color2, #6E7F93);
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
    transition: all .2s ease-in-out;
}

.fiches-idees-tabs button.active{
    border-radius: 8px;
    background: #0A58A5;
    color: #fff;
}

.fiches-idees-filter-pills{
    padding: 5px;
}

.fiches-idees-filter-pills button{
    height: 100%;
    color: var(--Color2, #6E7F93);
    text-align: center;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
    border: none;
    border-radius: 8px;
    transition: all .2s ease-in-out;
    padding: 0 12px;
}

.fiches-idees-filter-pills button.active{
    color: #0A58A5;
    text-align: center;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px; /* 142.857% */
    background: #EBF3FA;
}

.fiches-idees-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    gap: 20px;
}

.fiche-idee-card{

    /* gr1 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: var(--Linear, linear-gradient(156deg, #DFE5EC 5.53%, #FFF 66.94%));
    padding: 20px;
    /* gr1 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.fiche-idee-card-header .fiche-idee-category-tag{
    border-radius: 8px;
border: 1px solid rgba(0, 0, 0, 0.00);
background: var(--fr, linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%));
height: 28px;
padding: 2px 8px;
color: #FFF;
font-family: "Open Sans";
font-size: 12px;
font-style: normal;
font-weight: 700;
line-height: 16px; /* 133.333% */
}

.fiche-idee-card-content{
    margin: 15px 0;
    margin-bottom: 0;
}

.fiche-idee-title{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 32px; /* 160% */
}

.fiche-idee-description{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px; /* 157.143% */
}

.fiche-idee-price-tag{
    display: flex;
    width: 121px;
    height: 38px;
    padding: 2px 8px;
    justify-content: center;
    align-items: center;
    gap: 4px;
    border-radius: 30px;
    background: rgba(89, 178, 36, 0.10);
    margin: 15px 0;
    color: #59B224;
    font-family: "Open Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 100% */
}

.fiche-idee-price-tag.premium{
background: rgba(151, 71, 255, 0.10);
color: #9747FF;
}

.fiche-idee-author{
    border: 1px solid var(--stroke-1, #DFE5EC);
    padding: 20px;
    background-color: #fff;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.fiche-idee-author-content{
    display: flex;
    align-items: center;
    gap: 15px;
}

.fiche-idee-avatar{
    border-radius: 16777200px;
    background: var(--Linear, linear-gradient(295deg, #E4D5E1 -79.75%, #908B9F 167.09%));
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    color: #FFF;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}

.fiche-idee-author-name{
    color: #223245;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}

.fiche-idee-author-role{
    color: #99A1AF;
font-family: "Open Sans";
font-size: 12px;
font-style: normal;
font-weight: 400;
line-height: 16px; /* 133.333% */
}

.fiche-idee-rating{
    border-radius: 16777200px;
background: #FEFCE8;
padding: 3.5px 7.148px 4.5px 8px;
color: #D08700;
font-family: "Open Sans";
font-size: 12px;
font-style: normal;
font-weight: 700;
line-height: 16px; /* 133.333% */
}

.fiche-idee-card-footer{
    margin-top: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.fiche-idee-stats{
    display: flex;
    align-items: center;
    gap: 15px;
}

.fiche-idee-stat{
    color: #6A7282;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
}

.fiche-idee-details-btn{
    color: #0A58A5;
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}

.fiches-main{
    display: flex;
    gap: 20px;
}

/* ═══════════════════════════════════════════════════
   SHOW FICHE IDÉE — Redesigned Layout
   ═══════════════════════════════════════════════════ */

.fiche-show-content{
    width: 70%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* --- Hero Banner --- */
.fiche-show-hero{
    border-radius: 20px;
    background: var(--gar, linear-gradient(97deg, #0A58A5 -8.25%, #161921 134.93%));
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -4px rgba(0, 0, 0, 0.10);
    padding: 28px 28px 24px;
    position: relative;
    overflow: hidden;
}

.fiche-show-hero::before{
    content: '';
    position: absolute;
    top: -40%;
    right: -10%;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.04);
    pointer-events: none;
}

.fiche-show-hero::after{
    content: '';
    position: absolute;
    bottom: -30%;
    left: 20%;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.03);
    pointer-events: none;
}

.fiche-show-hero-inner{
    position: relative;
    z-index: 1;
}

.fiche-show-hero-badge{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(4px);
    padding: 5px 12px;
    color: #FFF;
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 700;
    line-height: 16px;
}

.fiche-show-hero-badge i{
    font-size: 11px;
    opacity: 0.8;
}

.fiche-show-hero-title{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 22px;
    font-weight: 700;
    line-height: 32px;
    margin-top: 14px;
}

.fiche-show-hero-description{
    margin-top: 10px;
    color: #DBEAFE;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
}

.fiche-show-hero-meta{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    flex-wrap: wrap;
}

.fiche-show-meta-chip{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 20px;
    padding: 5px 14px;
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
}

.fiche-show-meta-chip.free{
    background: rgba(89, 178, 36, 0.15);
    color: #A3E67A;
}

.fiche-show-meta-chip.premium{
    background: rgba(151, 71, 255, 0.2);
    color: #D4BBFF;
}

.fiche-show-meta-chip.author{
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.85);
}

/* --- Content Sections --- */
.fiche-show-sections{
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.fiche-show-section{
    border-radius: 16px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 22px;
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.04);
    display: flex;
    gap: 18px;
    align-items: flex-start;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.fiche-show-section:hover{
    box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.07);
    transform: translateY(-1px);
}

.fiche-show-section-icon-wrap{
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.fiche-show-section-icon-wrap.problem{
    background: #FEF2F2;
    color: #DC2626;
}

.fiche-show-section-icon-wrap.solution{
    background: #F0FDF4;
    color: #16A34A;
}

.fiche-show-section-icon-wrap.market{
    background: #EFF6FF;
    color: #2563EB;
}

.fiche-show-section-icon-wrap.business{
    background: #FFFBEB;
    color: #D97706;
}

.fiche-show-section-icon-wrap.risks{
    background: #FFF7ED;
    color: #EA580C;
}

.fiche-show-section-icon-wrap.roadmap{
    background: #F5F3FF;
    color: #7C3AED;
}

.fiche-show-section-body{
    flex: 1;
    min-width: 0;
}

.fiche-show-section-title{
    color: #223245;
    font-family: "Open Sans";
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
}

.fiche-show-section-text{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
    margin-top: 6px;
}

/* --- Duo Cards (Risks + Roadmap) --- */
.fiche-show-duo-cards{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.fiche-show-duo-card{
    border-radius: 16px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 22px;
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.fiche-show-duo-card:hover{
    box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.07);
    transform: translateY(-1px);
}

.fiche-show-duo-card-header{
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.fiche-show-duo-card-header .fiche-show-section-icon-wrap{
    width: 38px;
    height: 38px;
    min-width: 38px;
    font-size: 16px;
}

/* --- Sidebar --- */
.fiche-show-sidebar{
    width: 30%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.fiche-show-actions-box{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 20px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
}

.fiche-show-exploit-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    height: 48px;
    background: linear-gradient(135deg, #0A58A5, #083D73);
    box-shadow: 0 4px 12px -2px rgba(10, 88, 165, 0.35);
    color: #FFF;
    text-align: center;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    gap: 10px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.fiche-show-exploit-btn:hover{
    transform: translateY(-1px);
    box-shadow: 0 6px 16px -2px rgba(10, 88, 165, 0.4);
}

.fiche-show-exploit-btn:active{
    transform: translateY(0);
}

.fiche-show-exploit-btn.disabled{
    background: #B0C4D8;
    box-shadow: none;
    cursor: not-allowed;
    pointer-events: none;
}

.fiche-show-exploit-hint{
    margin-top: 8px;
    color: #99A1AF;
    text-align: center;
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
}

.fiche-show-save-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #6E7F93;
    text-align: center;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    height: 44px;
    width: 100%;
    border-radius: 14px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    margin-top: 12px;
    cursor: pointer;
    background: none;
    transition: all .2s ease;
}

.fiche-show-save-btn:hover{
    color: #0A58A5;
    border-color: #0A58A5;
    background: rgba(10, 88, 165, 0.04);
}

.fiche-show-save-btn.saved{
    color: #0A58A5;
    border-color: #0A58A5;
    background: rgba(10, 88, 165, 0.06);
}

.fiche-show-save-btn.saved:hover{
    color: #DC2626;
    border-color: #DC2626;
    background: rgba(220, 38, 38, 0.04);
}

/* --- Expert Box --- */
.fiche-show-expert-box{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 22px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.fiche-show-expert-top{
    display: flex;
    align-items: center;
    gap: 14px;
}

.fiche-show-expert-avatar{
    width: 52px;
    height: 52px;
    border-radius: 100%;
    background: var(--fr, linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%));
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF;
    font-family: "Open Sans";
    font-size: 18px;
    font-weight: 700;
    flex-shrink: 0;
}

.fiche-show-expert-identity{
    flex: 1;
    min-width: 0;
}

.fiche-show-expert-name-row{
    display: flex;
    align-items: center;
    gap: 8px;
}

.fiche-show-expert-name{
    color: #223245;
    font-family: "Open Sans";
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
}

.fiche-show-expert-verified{
    color: #0A58A5;
    font-size: 14px;
}

.fiche-show-expert-title{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 400;
    line-height: 18px;
    margin-top: 2px;
}

.fiche-show-expert-rating-row{
    display: flex;
    align-items: center;
    gap: 8px;
}

.fiche-show-expert-rating{
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border-radius: 20px;
    border: 1px solid #FEF9C2;
    background: #FEFCE8;
    padding: 4px 12px;
    color: #A65F00;
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 700;
    line-height: 16px;
}

.fiche-show-expert-rating i{
    color: #EAB308;
    font-size: 11px;
}

.fiche-show-expert-reviews{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
}

.fiche-show-expert-bio{
    color: #4A5565;
    font-family: "Open Sans";
    font-size: 13px;
    font-style: italic;
    font-weight: 400;
    line-height: 21px;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(10, 88, 165, 0.04);
    border-left: 3px solid rgba(10, 88, 165, 0.15);
}

.fiche-show-expert-contact-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 12px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: rgba(10, 88, 165, 0.06);
    height: 42px;
    color: var(--Color-2, #0A58A5);
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    cursor: pointer;
    transition: all 0.2s ease;
    width: 100%;
}

.fiche-show-expert-contact-btn:hover{
    background: rgba(10, 88, 165, 0.12);
    border-color: #0A58A5;
}

.fiche-show-expert-contact-btn i{
    font-size: 13px;
}

/* --- Guarantee Box --- */
.fiche-show-guarantee-box{
    border-radius: 16px;
    border: 1px solid #D1E9D5;
    background: linear-gradient(135deg, #F0FDF4 0%, #ECFDF5 100%);
    padding: 18px;
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.03);
}

.fiche-show-guarantee-header{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.fiche-show-guarantee-icon{
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 8px;
    background: rgba(22, 163, 74, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #16A34A;
    font-size: 14px;
}

.fiche-show-guarantee-title{
    color: #166534;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
}

.fiche-show-guarantee-text{
    color: #4D7C5A;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 400;
    line-height: 21px;
}

/* Unlock Box (Premium) */
.fiche-idee-unlock-box {
    margin: 20px 0;
    padding: 28px 24px;
    border-radius: 16px;
    border: 1px solid #E0D4F5;
    background: linear-gradient(135deg, #F5F0FF 0%, #EDE5FF 100%);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.fiche-idee-unlock-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #9747FF, #7C3AED);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    box-shadow: 0 4px 12px rgba(151, 71, 255, 0.3);
}

.fiche-idee-unlock-title {
    color: #223245;
    font-family: "Open Sans";
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
}

.fiche-idee-unlock-description {
    color: #6E7F93;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    max-width: 380px;
}

.fiche-idee-unlock-btn {
    margin-top: 4px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, #9747FF, #7C3AED);
    color: #fff;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    padding: 12px 32px;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(151, 71, 255, 0.25);
    transition: opacity 0.2s, transform 0.2s;
}

.fiche-idee-unlock-btn:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.fiche-idee-unlock-btn:active {
    transform: translateY(0);
}

.fiche-idee-exploit-hint{
    margin-top: 5px;
    color: #99A1AF;
    text-align: center;
    font-family: "Open Sans";
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
}
/* ═══════════════════════════════════════════════════
   EXPERTS GRID & CARDS
   ═══════════════════════════════════════════════════ */

.fiches-idees-experts-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    gap: 20px;
}

.expert-card{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: var(--Linear, linear-gradient(156deg, #DFE5EC 5.53%, #FFF 66.94%));
    padding: 24px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.expert-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.08);
}

.expert-card-content{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.expert-avatar{
    width: 64px;
    height: 64px;
    border-radius: 100%;
    background: var(--fr, linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%));
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF;
    font-family: "Open Sans";
    font-size: 22px;
    font-weight: 700;
    line-height: 18px;
    flex-shrink: 0;
}

.expert-info{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.expert-name-row{
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
}

.expert-name{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
}

.expert-name-icon{
    color: #0A58A5;
    font-size: 14px;
}

.expert-title{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    text-align: center;
}

.expert-quote{
    color: #4A5565;
    font-family: "Open Sans";
    font-size: 13px;
    font-style: italic;
    font-weight: 400;
    line-height: 20px;
    text-align: center;
    padding: 12px 16px;
    border-radius: 12px;
    background: rgba(10, 88, 165, 0.04);
    width: 100%;
}

.expert-stats{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: 100%;
    padding-top: 16px;
    border-top: 1px solid #DFE5EC;
}

.expert-stat{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex: 1;
}

.expert-stat-value{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 18px;
    font-weight: 700;
    line-height: 24px;
}

.expert-stat-label{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 11px;
    font-weight: 500;
    line-height: 16px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.expert-card-footer{
    width: 100%;
}

.expert-profile-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 42px;
    border-radius: 14px;
    background: rgba(10, 88, 165, 0.06);
    color: var(--Color-2, #0A58A5);
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
    transition: background 0.2s ease;
}

.expert-profile-btn:hover{
    background: rgba(10, 88, 165, 0.12);
}

.fiches-idees-empty{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 60px 20px;
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 14px;
}

.fiches-idees-empty i{
    font-size: 32px;
    color: #DFE5EC;
}

/* ═══════════════════════════════════════════════════
   CARDS SHOW/HIDE ANIMATION
   ═══════════════════════════════════════════════════ */

.fiche-idee-card, .expert-card{
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.fiche-idee-card-hidden{
    display: none !important;
}

/* ═══════════════════════════════════════════════════
   CATEGORY PILLS (generated dynamically)
   ═══════════════════════════════════════════════════ */

.fiches-idees-category-pills{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.fiche-idee-category-pill{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 6px 16px;
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.fiche-idee-category-pill:hover{
    border-color: #0A58A5;
    color: #0A58A5;
}

.fiche-idee-category-pill.active{
    background: rgba(10, 88, 165, 0.06);
    border-color: #0A58A5;
    color: #0A58A5;
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════
   RESULTS BAR & EMPTY STATE
   ═══════════════════════════════════════════════════ */

.fiches-idees-results-bar{
    margin-bottom: 12px;
}

.fiches-idees-results-count{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
}

.fiches-idees-empty-state{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 60px 20px;
    border-radius: 20px;
    border: 1px dashed #DFE5EC;
    background: #FAFBFC;
}

.fiches-idees-empty-state i{
    font-size: 36px;
    color: #DFE5EC;
}

.fiches-idees-empty-state h3{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 16px;
    font-weight: 700;
}

.fiches-idees-empty-state p{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 400;
}

/* ========== Fiches Idées Page Animations ========== */

.fiches-idees-hero{
    animation: scaleIn 0.5s ease-out 0.1s both;
}

.fiches-idees-hero-title{
    animation: fadeUp 0.4s ease-out 0.2s both;
}

.fiches-idees-hero-description{
    animation: fadeUp 0.4s ease-out 0.25s both;
}

.fiches-idees-propose-btn{
    animation: fadeUp 0.4s ease-out 0.3s both;
}

.fiches-idees-search-filters{
    animation: fadeUp 0.4s ease-out 0.3s both;
}

.fiches-idees-results-bar{
    animation: fadeUp 0.3s ease-out 0.35s both;
}

.fiche-idee-card{
    animation: scaleIn 0.5s ease-out both;
}

.fiche-idee-card:nth-child(1){ animation-delay: 0.35s; }
.fiche-idee-card:nth-child(2){ animation-delay: 0.45s; }
.fiche-idee-card:nth-child(3){ animation-delay: 0.55s; }
.fiche-idee-card:nth-child(4){ animation-delay: 0.65s; }
.fiche-idee-card:nth-child(5){ animation-delay: 0.7s; }
.fiche-idee-card:nth-child(6){ animation-delay: 0.75s; }

.expert-card{
    animation: scaleIn 0.5s ease-out both;
}

.expert-card:nth-child(1){ animation-delay: 0.35s; }
.expert-card:nth-child(2){ animation-delay: 0.45s; }
.expert-card:nth-child(3){ animation-delay: 0.55s; }
.expert-card:nth-child(4){ animation-delay: 0.65s; }

/* ========== Show Fiche Idée Animations ========== */

.fiche-show-hero{
    animation: scaleIn 0.5s ease-out 0.1s both;
}

.fiche-show-hero-title{
    animation: fadeUp 0.4s ease-out 0.2s both;
}

.fiche-show-hero-description{
    animation: fadeUp 0.4s ease-out 0.25s both;
}

.fiche-show-hero-meta{
    animation: fadeUp 0.4s ease-out 0.3s both;
}

.fiche-show-section{
    animation: fadeUp 0.4s ease-out both;
}

.fiche-show-section:nth-child(1){ animation-delay: 0.2s; }
.fiche-show-section:nth-child(2){ animation-delay: 0.3s; }
.fiche-show-section:nth-child(3){ animation-delay: 0.4s; }
.fiche-show-section:nth-child(4){ animation-delay: 0.5s; }

.fiche-show-duo-cards{
    animation: fadeUp 0.4s ease-out 0.55s both;
}

.fiche-show-actions-box{
    animation: fadeUp 0.4s ease-out 0.15s both;
}

.fiche-show-expert-box{
    animation: fadeUp 0.4s ease-out 0.25s both;
}

.fiche-show-guarantee-box{
    animation: fadeUp 0.4s ease-out 0.35s both;
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — Mobile & Tablet (max-width: 768px)
   ═══════════════════════════════════════════════════ */

@media (max-width: 768px) {
    .fiches-idees-search-filters, .fiches-idees-tabs-filters{
        flex-direction: column;
        width: 100%;
    }

    .fiches-idees-search-bar, .fiches-idees-filter-pills{
        width: 100%;
    }

    .fiches-idees-tabs button{
        width: 50%;
        text-align: center;
        justify-content: center;
    }

    .fiches-idees-filter-pills button{
        width: 33%;
    }

    .fiches-idees-grid, .fiches-idees-experts-grid{
        display: flex;
        flex-direction: column;
    }

    .fiches-idees-category-pills{
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .fiche-idee-category-pill{
        white-space: nowrap;
        flex-shrink: 0;
    }

    .fiches-main{
        flex-direction: column;
    }

    .fiche-show-content, .fiche-show-sidebar{
        width: 100%;
    }

    .fiche-show-hero{
        padding: 20px;
    }

    .fiche-show-hero-title{
        font-size: 18px;
        line-height: 26px;
    }

    .fiche-show-section{
        padding: 18px;
    }

    .fiche-show-duo-cards{
        grid-template-columns: 1fr;
    }
}
/* ═══════════════════════════════════════════════════
   CARTOGRAPHIE — Hero
   ═══════════════════════════════════════════════════ */

.carto-hero{
    border-radius: 20px;
    background: var(--gar, linear-gradient(97deg, #0A58A5 -8.25%, #161921 134.93%));
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -4px rgba(0, 0, 0, 0.10);
    padding: 20px;
}

.carto-hero-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.carto-hero-title{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
}

.carto-hero-description{
    margin-top: 10px;
    color: #DBEAFE;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
}

.carto-hero-stats{
    display: flex;
    gap: 10px;
}

.carto-hero-stat{
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    background: rgba(0, 0, 0, 0.10);
    padding: 12px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 100px;
}

.carto-hero-stat-value{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 22px;
    font-weight: 700;
}

.carto-hero-stat-label{
    color: #BEDBFF;
    font-family: "Open Sans";
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* ═══════════════════════════════════════════════════
   CARTOGRAPHIE — Search & Filters
   ═══════════════════════════════════════════════════ */

.carto-search-filters{
    margin: 17px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.carto-search-bar{
    border-radius: 12px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    width: 50%;
    height: 44px;
    display: flex;
    align-items: center;
    padding: 0 10px;
    gap: 10px;
}

.carto-search-bar input{
    height: 100%;
    width: 100%;
    border: none;
    border-radius: 12px;
    font-family: "Open Sans";
    font-size: 14px;
}

.carto-filters{
    display: flex;
    flex-direction: row-reverse;
    gap: 20px;
}

.carto-tabs{
    display: flex;
    gap: 10px;
    border-radius: 12px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    height: 44px;
    padding: 5px;
}

.carto-tab{
    border: none;
    padding: 0 15px;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    transition: all .2s ease-in-out;
    background: transparent;
    cursor: pointer;
}

.carto-tab.active{
    border-radius: 8px;
    background: #0A58A5;
    color: #fff;
}

.carto-filter-pills{
    border-radius: 12px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    height: 44px;
    display: flex;
    align-items: center;
    padding: 5px;
    gap: 4px;
}

.carto-filter-pill{
    height: 100%;
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    border: none;
    border-radius: 8px;
    background: transparent;
    transition: all .2s ease-in-out;
    padding: 0 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
}

.carto-filter-pill.active{
    color: #0A58A5;
    background: #EBF3FA;
}


/* ═══════════════════════════════════════════════════
   CARTOGRAPHIE — Results & Empty State
   ═══════════════════════════════════════════════════ */

.carto-results-bar{
    margin-bottom: 12px;
}

.carto-results-count{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 500;
}

.carto-empty-state{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 60px 20px;
    border-radius: 20px;
    border: 1px dashed #DFE5EC;
    background: #FAFBFC;
}

.carto-empty-state i{ font-size: 36px; color: #DFE5EC; }
.carto-empty-state h3{ color: #223245; font-family: "Open Sans"; font-size: 16px; font-weight: 700; }
.carto-empty-state p{ color: #6E7F93; font-family: "Open Sans"; font-size: 14px; }

/* ═══════════════════════════════════════════════════
   CARTOGRAPHIE — Cards Grid
   ═══════════════════════════════════════════════════ */

.carto-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    gap: 20px;
}

.carto-card{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: var(--Linear, linear-gradient(156deg, #DFE5EC 5.53%, #FFF 66.94%));
    padding: 20px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.carto-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.08);
}

.carto-card-hidden{
    display: none !important;
}

.carto-card-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.carto-card-tag{
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Open Sans";
}

.carto-card-tag.besoin{
    background: #FEE2E2;
    color: #DC2626;
}

.carto-card-tag.ressource{
    background: #DCFCE7;
    color: #008236;
}

.carto-card-tag.infra{
    background: #DBEAFE;
    color: #0A58A5;
}

.carto-card-favorite{
    background: none;
    border: none;
    color: #CED4DA;
    cursor: pointer;
    padding: 6px;
    transition: all .2s ease;
    font-size: 18px;
    border-radius: 8px;
}

.carto-card-favorite:hover{ color: #0A58A5; transform: scale(1.1); }
.carto-card-favorite.saved{ color: #0A58A5; }
.carto-card-favorite:disabled{ opacity: 0.6; cursor: not-allowed; }

.carto-card-content{
    margin-bottom: 15px;
}

.carto-card-title{
    color: var(--Color1, #223245);
    font-family: "Open Sans";
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
}

.carto-card-description{
    color: var(--Color2, #6E7F93);
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    margin-top: 8px;
}

.carto-card-meta{
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 12px;
}

.carto-card-location, .carto-card-sector{
    display: flex;
    align-items: center;
    gap: 6px;
    color: #6E7F93;
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 500;
}

.carto-card-location i, .carto-card-sector i{
    font-size: 12px;
    color: #0A58A5;
}

.carto-card-keywords{
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.carto-card-keyword{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 4px 10px;
    color: #6E7F93;
    font-family: "Open Sans";
    font-size: 11px;
    font-weight: 500;
}

.carto-card-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 15px;
    border-top: 1px solid #DFE5EC;
}

.carto-card-impact{
    display: flex;
    align-items: center;
    gap: 6px;
    color: #223245;
    font-family: "Open Sans";
    font-size: 12px;
    font-weight: 600;
}

.carto-card-impact i{ color: #F59E0B; }

.carto-card-details-btn{
    color: #0A58A5;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
}

/* ═══════════════════════════════════════════════════
   CARTOGRAPHIE — Map View
   ═══════════════════════════════════════════════════ */

.carto-map-wrapper{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    overflow: hidden;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
}

.carto-map-container{
    position: relative;
    height: 600px;
    width: 100%;
}

#cartographie-map{
    width: 100% !important;
    height: 100% !important;
    z-index: 1;
}

.carto-map-legend{
    position: absolute;
    bottom: 20px;
    left: 20px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid #DFE5EC;
    border-radius: 12px;
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 1000;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.carto-legend-item{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 500;
    color: #223245;
    font-family: "Open Sans";
}

.carto-legend-dot{
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.carto-legend-dot.besoin{ background: #DC2626; }
.carto-legend-dot.ressource{ background: #008236; }
.carto-legend-dot.infra{ background: #0A58A5; }

/* Custom Markers */
.custom-marker{ background: transparent !important; border: none !important; width: 32px !important; height: 32px !important; }
.custom-marker-circle{ width: 32px !important; height: 32px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #FFF !important; box-shadow: 0 2px 8px rgba(0,0,0,0.3) !important; border: 2px solid #FFF !important; }
.custom-marker-circle i{ font-size: 14px !important; color: #FFF !important; z-index: 1 !important; }

/* ═══════════════════════════════════════════════════
   CARTOGRAPHIE — Detail Panel & Modal
   ═══════════════════════════════════════════════════ */

.carto-modal-overlay{
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1999;
}

.carto-detail-panel{
    position: fixed;
    top: 0;
    right: 0;
    width: 400px;
    height: 100vh;
    background: #FFF;
    border-left: 1px solid #DFE5EC;
    box-shadow: -4px 0 12px rgba(0, 0, 0, 0.1);
    z-index: 2000;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.carto-detail-header{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 24px;
    border-bottom: 1px solid #DFE5EC;
    position: sticky;
    top: 0;
    background: #FFF;
    z-index: 10;
}

.carto-detail-panel-title{
    font-size: 14px;
    font-weight: 700;
    color: #6E7F93;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 4px 0;
    font-family: "Open Sans";
}

.carto-detail-panel-location{
    font-size: 16px;
    font-weight: 600;
    color: #223245;
    margin: 0;
    font-family: "Open Sans";
}

.carto-detail-close{
    background: none;
    border: none;
    color: #6E7F93;
    cursor: pointer;
    padding: 8px;
    border-radius: 6px;
    transition: all 0.2s ease;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carto-detail-close:hover{ background: #F8F9FA; color: #223245; }

.carto-detail-content{
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.carto-detail-title{
    font-size: 22px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans";
    line-height: 1.3;
}

.carto-detail-description{
    font-size: 15px;
    color: #6E7F93;
    margin: 0;
    line-height: 1.6;
    font-family: "Open Sans";
}

.carto-detail-info{
    border-radius: 15px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #F6F7F8;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.carto-detail-info-title{
    font-size: 16px;
    font-weight: 700;
    color: #223245;
    margin: 0 0 8px 0;
    font-family: "Open Sans";
}

.carto-detail-info-item{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-family: "Open Sans";
}

.carto-detail-info-label{ color: #6E7F93; font-weight: 500; }
.carto-detail-info-value{ color: #223245; font-weight: 600; }

.carto-detail-keywords-section{
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.carto-detail-keywords-section h4{
    font-size: 14px;
    font-weight: 700;
    color: #223245;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
    font-family: "Open Sans";
}

.carto-detail-keywords{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.carto-detail-keyword{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 500;
    color: #223245;
    font-family: "Open Sans";
}

.carto-detail-actions{
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 8px;
}

.carto-detail-action-btn, a.carto-detail-action-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 20px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 700;
    font-family: "Open Sans";
    cursor: pointer;
    transition: all 0.2s ease;
    border: none;
    text-decoration: none;
}

.carto-detail-action-btn.primary{ background: #0A58A5; color: #FFF; }
a.carto-detail-action-btn.primary:hover{ background: #084a8f; color: #FFF; }
.carto-detail-action-btn.secondary{ background: #FFF; color: #223245; border: 1px solid #DFE5EC; }
.carto-detail-action-btn.secondary:hover{ background: #F8F9FA; }

/* ═══════════════════════════════════════════════════
   CARTOGRAPHIE — Page Animations
   ═══════════════════════════════════════════════════ */

.carto-hero{
    animation: scaleIn 0.5s ease-out 0.1s both;
}

.carto-hero-title{
    animation: fadeUp 0.4s ease-out 0.2s both;
}

.carto-hero-description{
    animation: fadeUp 0.4s ease-out 0.25s both;
}

.carto-hero-stat{
    animation: fadeUp 0.4s ease-out both;
}

.carto-hero-stat:nth-child(1){ animation-delay: 0.2s; }
.carto-hero-stat:nth-child(2){ animation-delay: 0.25s; }
.carto-hero-stat:nth-child(3){ animation-delay: 0.3s; }

.carto-search-filters{
    animation: fadeUp 0.4s ease-out 0.3s both;
}

.carto-results-bar{
    animation: fadeUp 0.4s ease-out 0.35s both;
}

.carto-map-wrapper{
    animation: scaleIn 0.5s ease-out 0.4s both;
}

.carto-card{
    animation: scaleIn 0.5s ease-out both;
}

.carto-card:nth-child(1){ animation-delay: 0.4s; }
.carto-card:nth-child(2){ animation-delay: 0.5s; }
.carto-card:nth-child(3){ animation-delay: 0.6s; }
.carto-card:nth-child(4){ animation-delay: 0.65s; }
.carto-card:nth-child(5){ animation-delay: 0.7s; }
.carto-card:nth-child(6){ animation-delay: 0.75s; }

.carto-empty-state{
    animation: fadeUp 0.5s ease-out 0.4s both;
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — Mobile & Tablet
   ═══════════════════════════════════════════════════ */

@media (max-width: 768px) {
    .carto-hero-content{
        flex-direction: column;
        align-items: flex-start;
    }

    .carto-hero-stats{
        width: 100%;
    }

    .carto-hero-stat{
        flex: 1;
        min-width: 0;
        padding: 10px 12px;
    }

    .carto-search-filters{
        flex-direction: column;
    }

    .carto-search-bar{
        width: 100%;
    }

    .carto-filters{
        flex-direction: column;
        width: 100%;
    }

    .carto-tabs{
        width: 100%;
    }

    .carto-tab{
        flex: 1;
        justify-content: center;
    }

    .carto-filter-pills{
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .carto-filter-pill{
        white-space: nowrap;
        flex-shrink: 0;
    }

    .carto-grid{
        grid-template-columns: repeat(auto-fill, minmax(376px, 1fr));
    }

    .carto-detail-panel{
        width: 100%;
    }

    .carto-map-container{
        height: 400px;
    }
}
/* ═══════════════════════════════════════════════════
   FAVORIS — Hero
   ═══════════════════════════════════════════════════ */

.favoris-hero{
    border-radius: 20px;
    background: var(--gar, linear-gradient(97deg, #0A58A5 -8.25%, #161921 134.93%));
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -4px rgba(0, 0, 0, 0.10);
    padding: 20px;
}

.favoris-hero-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.favoris-hero-title{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
}

.favoris-hero-description{
    margin-top: 10px;
    color: #DBEAFE;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
}

.favoris-hero-stats{
    display: flex;
    gap: 10px;
}

.favoris-hero-stat{
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    background: rgba(0, 0, 0, 0.10);
    padding: 12px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 90px;
}

.favoris-hero-stat-value{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 22px;
    font-weight: 700;
}

.favoris-hero-stat-label{
    color: #BEDBFF;
    font-family: "Open Sans";
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* ═══════════════════════════════════════════════════
   FAVORIS — Tabs
   ═══════════════════════════════════════════════════ */

.favoris-tabs-wrapper{
    margin: 17px 0;
}

.favoris-tabs{
    display: flex;
    gap: 10px;
    border-radius: 12px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 5px;
}

.favoris-tab{
    border: none;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    transition: all .2s ease-in-out;
    background: transparent;
    cursor: pointer;
    border-radius: 8px;
    font-family: "Open Sans";
    white-space: nowrap;
}

.favoris-tab:hover{
    color: #223245;
    background: #F8F9FA;
}

.favoris-tab.active{
    background: #0A58A5;
    color: #fff;
}

.favoris-tab i{
    font-size: 13px;
}

.favoris-tab-count{
    font-size: 11px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.10);
}

.favoris-tab.active .favoris-tab-count{
    background: rgba(255, 255, 255, 0.20);
}

/* ═══════════════════════════════════════════════════
   FAVORIS — Grid
   ═══════════════════════════════════════════════════ */

.favoris-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px;
}

/* ═══════════════════════════════════════════════════
   FAVORIS — Card
   ═══════════════════════════════════════════════════ */

.favoris-card{
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
    padding: 20px;
    display: flex;
    flex-direction: column;
    transition: all .25s ease-in-out;
    cursor: default;
}

.favoris-card:hover{
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.favoris-card-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

/* Tags */
.favoris-card-tag{
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Open Sans";
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.favoris-card-tag.fiche{
    background: #DBEAFE;
    color: #0A58A5;
}

.favoris-card-tag.idee{
    background: #FEF3C7;
    color: #92400E;
}

.favoris-card-tag.recherche{
    background: #DCFCE7;
    color: #008236;
}

.favoris-card-tag.besoin{
    background: #FEE2E2;
    color: #DC2626;
}

.favoris-card-tag.ressource{
    background: #DCFCE7;
    color: #008236;
}

.favoris-card-tag.infra{
    background: #DBEAFE;
    color: #0A58A5;
}

.favoris-card-tag.tendance{
    background: var(--fr, linear-gradient(148deg, #F90 -65.56%, rgba(167, 156, 216, 0.50) 130.83%));
    color: #FFF;
}

.favoris-card-tag i{
    font-size: 10px;
}

/* Bookmark button */
.favoris-card-bookmark{
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
    color: #CED4DA;
    font-size: 18px;
    transition: all .2s ease;
    border-radius: 8px;
}

.favoris-card-bookmark:hover{ color: #0A58A5; transform: scale(1.1); }
.favoris-card-bookmark.saved{ color: #0A58A5; }
.favoris-card-bookmark:disabled{ opacity: 0.6; cursor: not-allowed; }

/* Content */
.favoris-card-content{
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.favoris-card-title{
    font-size: 16px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans";
    line-height: 1.3;
}

.favoris-card-description{
    font-size: 13px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0;
    line-height: 1.6;
    font-family: "Open Sans";
}

/* Meta */
.favoris-card-meta{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 4px;
}

.favoris-card-meta-item{
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #6E7F93;
    font-family: "Open Sans";
}

.favoris-card-meta-item i{
    font-size: 11px;
    color: #0A58A5;
}

/* Keywords */
.favoris-card-keywords{
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
}

.favoris-card-keyword{
    font-size: 11px;
    font-weight: 600;
    color: #0A58A5;
    background: rgba(10, 88, 165, 0.06);
    padding: 3px 8px;
    border-radius: 6px;
    font-family: "Open Sans";
}

/* TRL */
.favoris-trl{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
}

.favoris-trl-bar{
    display: flex;
    gap: 4px;
}

.favoris-trl-dot{
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #DFE5EC;
    transition: all .2s ease;
}

.favoris-trl-dot.filled{
    background: #008236;
}

.favoris-trl-label{
    font-size: 12px;
    font-weight: 600;
    color: #6E7F93;
    font-family: "Open Sans";
}

/* Footer */
.favoris-card-footer{
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.favoris-card-details-btn{
    color: #0A58A5;
    font-size: 13px;
    font-weight: 600;
    font-family: "Open Sans";
    text-decoration: none;
    transition: all .2s ease;
}

.favoris-card-details-btn:hover{
    color: #084a8f;
}

/* ═══════════════════════════════════════════════════
   FAVORIS — Empty State
   ═══════════════════════════════════════════════════ */

.favoris-empty-state{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
    text-align: center;
    border-radius: 20px;
    background: #FFF;
    border: 1px solid #DFE5EC;
}

.favoris-empty-state i{
    font-size: 48px;
    color: #DFE5EC;
    margin-bottom: 16px;
}

.favoris-empty-state h3{
    font-size: 16px;
    font-weight: 700;
    color: #223245;
    margin: 0 0 8px 0;
    font-family: "Open Sans";
}

.favoris-empty-state p{
    font-size: 14px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0;
    font-family: "Open Sans";
}

/* ========== Favoris Page Animations ========== */

.favoris-hero{
    animation: scaleIn 0.5s ease-out 0.1s both;
}

.favoris-hero-title{
    animation: fadeUp 0.4s ease-out 0.2s both;
}

.favoris-hero-description{
    animation: fadeUp 0.4s ease-out 0.25s both;
}

.favoris-hero-stat{
    animation: fadeUp 0.4s ease-out both;
}

.favoris-hero-stat:nth-child(1){ animation-delay: 0.2s; }
.favoris-hero-stat:nth-child(2){ animation-delay: 0.25s; }
.favoris-hero-stat:nth-child(3){ animation-delay: 0.3s; }
.favoris-hero-stat:nth-child(4){ animation-delay: 0.35s; }
.favoris-hero-stat:nth-child(5){ animation-delay: 0.4s; }

.favoris-tabs-wrapper{
    animation: fadeUp 0.4s ease-out 0.35s both;
}

.favoris-card{
    animation: scaleIn 0.5s ease-out both;
}

.favoris-card:nth-child(1){ animation-delay: 0.4s; }
.favoris-card:nth-child(2){ animation-delay: 0.5s; }
.favoris-card:nth-child(3){ animation-delay: 0.6s; }
.favoris-card:nth-child(4){ animation-delay: 0.65s; }
.favoris-card:nth-child(5){ animation-delay: 0.7s; }
.favoris-card:nth-child(6){ animation-delay: 0.75s; }

.favoris-empty-state{
    animation: fadeUp 0.5s ease-out 0.4s both;
}

/* ═══════════════════════════════════════════════════
   FAVORIS — Responsive
   ═══════════════════════════════════════════════════ */

@media (max-width: 900px) {
    .favoris-hero-content{
        flex-direction: column;
        align-items: flex-start;
    }

    .favoris-hero-stats{
        flex-wrap: wrap;
    }

    .favoris-tabs{
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .favoris-grid{
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .favoris-hero-stats{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        width: 100%;
    }

    .favoris-hero-stat{
        min-width: auto;
    }

    .favoris-tab{
        padding: 8px 12px;
        font-size: 13px;
    }
}
/* ═══════════════════════════════════════════════════
   R&D RECHERCHES — Hero
   ═══════════════════════════════════════════════════ */

.rd-hero{
    border-radius: 20px;
    background: var(--gar, linear-gradient(97deg, #0A58A5 -8.25%, #161921 134.93%));
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.10), 0 4px 6px -4px rgba(0, 0, 0, 0.10);
    padding: 20px;
}

.rd-hero-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.rd-hero-badge{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 12px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.10);
    color: #BEDBFF;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Open Sans";
    margin-bottom: 10px;
}

.rd-hero-badge i{ font-size: 12px; }

.rd-hero-title{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
}

.rd-hero-description{
    margin-top: 10px;
    color: #DBEAFE;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
}

.rd-hero-stats{
    display: flex;
    gap: 10px;
}

.rd-hero-stat{
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    background: rgba(0, 0, 0, 0.10);
    padding: 12px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 100px;
}

.rd-hero-stat-value{
    color: #FFF;
    font-family: "Open Sans";
    font-size: 22px;
    font-weight: 700;
}

.rd-hero-stat-label{
    color: #BEDBFF;
    font-family: "Open Sans";
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Search inside hero */
.rd-hero-search{
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.rd-hero-search-bar{
    flex: 1;
    border-radius: 12px;
    background: #FFF;
    height: 44px;
    display: flex;
    align-items: center;
    padding: 0 14px;
    gap: 10px;
}

.rd-hero-search-bar i{ color: #6E7F93; font-size: 15px; }

.rd-hero-search-bar input{
    height: 100%;
    width: 100%;
    border: none;
    border-radius: 12px;
    font-family: "Open Sans";
    font-size: 14px;
    color: #223245;
}

.rd-hero-search-btn{
    padding: 0 24px;
    height: 44px;
    background: #FFF;
    border: none;
    border-radius: 12px;
    color: #0A58A5;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans";
    cursor: pointer;
    transition: all .2s ease;
    white-space: nowrap;
}

.rd-hero-search-btn:hover{
    background: #F0F4F8;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 255, 255, 0.3);
}

/* ═══════════════════════════════════════════════════
   R&D RECHERCHES — Filters
   ═══════════════════════════════════════════════════ */

.rd-filters{
    margin: 17px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.rd-filter-pills{
    display: flex;
    gap: 10px;
    border-radius: 12px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 5px;
}

.rd-filter-pill{
    border: none;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    transition: all .2s ease-in-out;
    background: transparent;
    cursor: pointer;
    border-radius: 8px;
    font-family: "Open Sans";
    white-space: nowrap;
}

.rd-filter-pill:hover{ color: #223245; background: #F8F9FA; }

.rd-filter-pill.active{
    background: #0A58A5;
    color: #fff;
}

.rd-results-count{
    color: #6E7F93;
    font-size: 13px;
    font-family: "Open Sans";
    font-weight: 500;
}

/* ═══════════════════════════════════════════════════
   R&D RECHERCHES — Grid & Cards
   ═══════════════════════════════════════════════════ */

.rd-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 20px;
}

.rd-card{
    border-radius: 20px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: all .25s ease-in-out;
    cursor: pointer;
}

.rd-card:hover{
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.rd-card-hidden{ display: none !important; }

.rd-card-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.rd-card-tags{
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.rd-card-tag{
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Open Sans";
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.rd-card-tag.category{ color: #FFF; }

.rd-card-tag.local{
    background: #DCFCE7;
    color: #008236;
}

.rd-card-tag.international{
    background: #EDE9FE;
    color: #6366F1;
}

.rd-card-tag i{ font-size: 10px; }

/* Bookmark */
.rd-card-bookmark{
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
    color: #CED4DA;
    font-size: 18px;
    transition: all .2s ease;
    border-radius: 8px;
}

.rd-card-bookmark:hover{ color: #0A58A5; transform: scale(1.1); }
.rd-card-bookmark.saved{ color: #0A58A5; }
.rd-card-bookmark:disabled{ opacity: 0.6; cursor: not-allowed; }

/* Content */
.rd-card-content{
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rd-card-title{
    font-size: 16px;
    font-weight: 700;
    color: #223245;
    margin: 0;
    font-family: "Open Sans";
    line-height: 1.3;
}

.rd-card-description{
    font-size: 13px;
    font-weight: 400;
    color: #6E7F93;
    margin: 0;
    line-height: 1.6;
    font-family: "Open Sans";
}

.rd-card-meta{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.rd-card-meta-item{
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #6E7F93;
    font-family: "Open Sans";
}

.rd-card-meta-item i{
    font-size: 11px;
    color: #0A58A5;
}

/* Business potential block */
.rd-card-business{
    background: rgba(139, 92, 246, 0.06);
    border: 1px solid rgba(139, 92, 246, 0.12);
    border-radius: 12px;
    padding: 12px;
}

.rd-card-business-label{
    font-size: 10px;
    font-weight: 700;
    color: #8B5CF6;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-family: "Open Sans";
}

.rd-card-business-text{
    font-size: 13px;
    color: #223245;
    margin: 6px 0 0 0;
    line-height: 1.5;
    font-family: "Open Sans";
}

/* TRL */
.rd-card-trl{
    display: flex;
    align-items: center;
    gap: 10px;
}

.rd-card-trl-bar{
    display: flex;
    gap: 4px;
}

.rd-card-trl-dot{
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #DFE5EC;
    transition: all .2s ease;
}

.rd-card-trl-dot.filled{ background: #008236; }

.rd-card-trl-label{
    font-size: 12px;
    font-weight: 600;
    color: #6E7F93;
    font-family: "Open Sans";
}

/* Footer */
.rd-card-footer{
    padding-top: 14px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.rd-card-analyze-btn{
    width: 100%;
    padding: 10px;
    background: #0A58A5;
    border: none;
    border-radius: 10px;
    color: #FFF;
    font-size: 13px;
    font-weight: 600;
    font-family: "Open Sans";
    cursor: pointer;
    transition: all .2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rd-card-analyze-btn:hover{
    background: #084a8f;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(10, 88, 165, 0.3);
}

/* ═══════════════════════════════════════════════════
   R&D RECHERCHES — Empty State
   ═══════════════════════════════════════════════════ */

.rd-empty-state{
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 24px;
    text-align: center;
    border-radius: 20px;
    background: #FFF;
    border: 1px solid #DFE5EC;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
}

.rd-empty-state i{ font-size: 48px; color: #DFE5EC; margin-bottom: 16px; }
.rd-empty-state h3{ font-size: 16px; font-weight: 700; color: #223245; margin: 0 0 8px 0; font-family: "Open Sans"; }
.rd-empty-state p{ font-size: 14px; color: #6E7F93; margin: 0; font-family: "Open Sans"; }

/* ═══════════════════════════════════════════════════
   R&D RECHERCHES — Detail Panel
   ═══════════════════════════════════════════════════ */

.rd-detail-panel{
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 9999;
    display: none;
}

.rd-detail-overlay{
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.5);
}

.rd-detail-content{
    position: absolute;
    top: 0; right: 0; bottom: 0;
    width: 600px;
    max-width: 90vw;
    background: #FFF;
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.rd-detail-header{
    padding: 16px 20px;
    border-bottom: 1px solid #DFE5EC;
    display: flex;
    justify-content: flex-end;
    position: sticky;
    top: 0;
    background: #FFF;
    z-index: 10;
}

.rd-detail-close{
    width: 36px; height: 36px;
    border-radius: 8px;
    border: 1px solid #DFE5EC;
    background: #FFF;
    color: #6E7F93;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s ease;
    font-size: 16px;
}

.rd-detail-close:hover{ background: #F8F9FA; color: #223245; }

.rd-detail-body{ padding: 24px; flex: 1; }

.rd-recherche-detail-category{ display: flex; gap: 10px; margin-bottom: 16px; }

.rd-detail-title{
    font-size: 22px;
    font-weight: 700;
    color: #223245;
    margin: 0 0 12px 0;
    font-family: "Open Sans";
    line-height: 1.3;
}

.rd-detail-description{
    font-size: 14px;
    color: #6E7F93;
    margin: 0 0 24px 0;
    line-height: 1.7;
    font-family: "Open Sans";
}

.rd-detail-section{
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #F0F0F8;
}

.rd-detail-section:last-child{ border-bottom: none; padding-bottom: 0; }

.rd-detail-section-title{
    font-size: 16px;
    font-weight: 700;
    color: #223245;
    margin: 0 0 12px 0;
    font-family: "Open Sans";
}

.rd-detail-source{
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
}

.rd-detail-source i{ font-size: 18px; color: #6E7F93; margin-top: 2px; }

.rd-detail-source-info{
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.rd-detail-source-info span{ font-size: 14px; color: #223245; font-family: "Open Sans"; }
.rd-detail-date{ font-size: 13px; color: #6E7F93; }

.rd-detail-pdf-btn{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: #FFF;
    border: 1px solid #DFE5EC;
    border-radius: 8px;
    color: #223245;
    font-size: 13px;
    font-weight: 600;
    font-family: "Open Sans";
    cursor: pointer;
    transition: all .2s ease;
}

.rd-detail-pdf-btn:hover{ background: #F8F9FA; }
.rd-detail-pdf-btn i{ color: #DC2626; font-size: 14px; }

/* Detail tabs */
.rd-detail-tabs{
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    border-bottom: 2px solid #F0F0F8;
}

.rd-detail-tab{
    padding: 10px 16px;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: #6E7F93;
    font-size: 14px;
    font-weight: 600;
    font-family: "Open Sans";
    cursor: pointer;
    transition: all .2s ease;
    margin-bottom: -2px;
}

.rd-detail-tab:hover{ color: #223245; }
.rd-detail-tab.active{ color: #0A58A5; border-bottom-color: #0A58A5; }

.rd-detail-tab-content{ display: flex; flex-direction: column; gap: 20px; }

/* Business idea box */
.rd-detail-business-idea{
    background: #FFF7ED;
    border: 1px solid #FED7AA;
    border-radius: 12px;
    padding: 16px;
}

.rd-detail-business-idea-header{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.rd-detail-business-idea-header i{ font-size: 18px; color: #F59E0B; }
.rd-detail-business-idea-header span{ font-size: 13px; font-weight: 700; color: #92400E; text-transform: uppercase; letter-spacing: 0.5px; font-family: "Open Sans"; }
.rd-detail-business-idea p{ font-size: 14px; color: #223245; margin: 0; line-height: 1.6; font-family: "Open Sans"; }

.rd-detail-label{
    font-size: 11px;
    font-weight: 700;
    color: #6E7F93;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 6px 0;
    font-family: "Open Sans";
}

.rd-detail-problem-row{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.rd-detail-block{ display: flex; flex-direction: column; }
.rd-detail-block p{ font-size: 14px; color: #223245; margin: 0; line-height: 1.6; font-family: "Open Sans"; }

/* Launch */
.rd-detail-launch{
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #DFE5EC;
}

.rd-detail-launch-btn{
    width: 100%;
    padding: 14px 20px;
    background: #0A58A5;
    border: none;
    border-radius: 12px;
    color: #FFF;
    font-size: 15px;
    font-weight: 700;
    font-family: "Open Sans";
    cursor: pointer;
    transition: all .2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rd-detail-launch-btn:hover{
    background: #084a8f;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(10, 88, 165, 0.3);
}

.rd-detail-launch-btn i{ font-size: 16px; }

.rd-detail-launch-hint{
    font-size: 12px;
    color: #6E7F93;
    margin: 10px 0 0 0;
    text-align: center;
    font-family: "Open Sans";
}

/* Info box */
.rd-detail-info-box{
    background: #FFF7ED;
    border: 1px solid #FED7AA;
    border-radius: 12px;
    padding: 14px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.rd-detail-info-box i{ font-size: 18px; color: #F59E0B; margin-top: 2px; flex-shrink: 0; }
.rd-detail-info-box p{ font-size: 13px; color: #223245; margin: 0; line-height: 1.6; font-family: "Open Sans"; }

/* Projects */
.rd-detail-projects{ display: flex; flex-direction: column; gap: 12px; }
.rd-detail-projects-list{ display: flex; flex-direction: column; gap: 10px; }

.rd-detail-project-card{
    background: #FFF;
    border: 1px solid #DFE5EC;
    border-radius: 12px;
    padding: 14px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    transition: all .2s ease;
}

.rd-detail-project-card:hover{ border-color: #CED4DA; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); }

.rd-detail-project-icon{
    width: 36px; height: 36px;
    border-radius: 8px;
    background: #E9ECEF;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #6E7F93;
    font-size: 16px;
}

.rd-detail-project-info{ flex: 1; }
.rd-detail-project-info h5{ font-size: 14px; font-weight: 700; color: #223245; margin: 0; font-family: "Open Sans"; }
.rd-detail-project-info p{ font-size: 13px; color: #6E7F93; margin: 4px 0 0 0; line-height: 1.5; font-family: "Open Sans"; }

.rd-detail-project-arrow{ color: #6E7F93; font-size: 14px; flex-shrink: 0; margin-top: 2px; }

.rd-detail-other-project{ background: #F8F9FA; border-style: dashed; border-color: #CED4DA; }
.rd-detail-other-project:hover{ background: #F1F3F5; border-color: #ADB5BD; }

/* ========== R&D Page Animations ========== */

.rd-hero{
    animation: scaleIn 0.5s ease-out 0.1s both;
}

.rd-hero-badge{
    animation: fadeUp 0.4s ease-out 0.2s both;
}

.rd-hero-title{
    animation: fadeUp 0.4s ease-out 0.25s both;
}

.rd-hero-description{
    animation: fadeUp 0.4s ease-out 0.3s both;
}

.rd-hero-stat{
    animation: fadeUp 0.4s ease-out both;
}

.rd-hero-stat:nth-child(1){ animation-delay: 0.25s; }
.rd-hero-stat:nth-child(2){ animation-delay: 0.3s; }
.rd-hero-stat:nth-child(3){ animation-delay: 0.35s; }

.rd-hero-search{
    animation: fadeUp 0.4s ease-out 0.35s both;
}

.rd-filters{
    animation: fadeUp 0.4s ease-out 0.4s both;
}

.rd-card{
    animation: scaleIn 0.5s ease-out both;
}

.rd-card:nth-child(1){ animation-delay: 0.4s; }
.rd-card:nth-child(2){ animation-delay: 0.5s; }
.rd-card:nth-child(3){ animation-delay: 0.6s; }
.rd-card:nth-child(4){ animation-delay: 0.7s; }
.rd-card:nth-child(5){ animation-delay: 0.75s; }
.rd-card:nth-child(6){ animation-delay: 0.8s; }

/* ═══════════════════════════════════════════════════
   R&D RECHERCHES — Responsive
   ═══════════════════════════════════════════════════ */

@media (max-width: 900px){
    .rd-hero-content{ flex-direction: column; align-items: flex-start; }
    .rd-hero-stats{ flex-wrap: wrap; }
    .rd-hero-search{ flex-direction: column; }
    .rd-filters{ flex-direction: column; align-items: flex-start; gap: 10px; }
    .rd-filter-pills{ overflow-x: auto; -webkit-overflow-scrolling: touch;width: 100%; gap: 5px; }
    .rd-grid{ grid-template-columns: 1fr; }
    .rd-detail-problem-row{ grid-template-columns: 1fr; }
}

@media (max-width: 600px){
    .rd-hero-stats{ display: grid; grid-template-columns: repeat(3, 1fr); }
    .rd-hero-stat{ min-width: auto; padding: 10px; }
    .rd-filter-pill{ padding: 6px 12px; font-size: 13px; }
}

@media (max-width: 768px){
    .rd-hero-search-bar input{
        height: 44px;
    }

    .rd-detail-content{
        max-width: 100%;
    }
}
/* ═══════════════════════════════════════════════════
   DARK MODE — Tambali PWA
   Applied via [data-theme="dark"] on <html>
   ═══════════════════════════════════════════════════ */

/* ── CSS Custom Properties ── */
:root {
    --Color-Texte: #22364D;
    --Color-2: #0A58A5;
    --Color0: #445972;
    --Color1: #223245;
    --Color2: #6E7F93;
    --stroke-1: #DFE5EC;
    --Blanc: #FFF;
}

[data-theme="dark"] {
    --Color-Texte: #F3F4F6;
    --Color-2: #60A5FA;
    --Color0: #D1D5DB;
    --Color1: #F3F4F6;
    --Color2: #9CA3AF;
    --stroke-1: #374151;
    --Blanc: #1F2937;
    color-scheme: dark;
}

/* ── Logo switch ── */
.logo-dark {
    display: none;
}

[data-theme="dark"] .logo-light {
    display: none;
}

[data-theme="dark"] .logo-dark {
    display: block;
}

/* ── Base ── */
[data-theme="dark"] body {
    background-color: #111827;
    color: #E5E7EB;
}

[data-theme="dark"] main {
    background-color: #111827;
}

[data-theme="dark"] a {
    color: inherit;
}

/* ── Sidebar ── */
[data-theme="dark"] .sidebar-container {
    background-color: #1F2937;
    border-right-color: #374151;
}

[data-theme="dark"] .sidebar nav a {
    color: #9CA3AF;
}

[data-theme="dark"] .sidebar nav a.active {
    color: #60A5FA;
    background-color: rgba(96, 165, 250, 0.1);
    border-color: #60A5FA;
}

[data-theme="dark"] span.sidebar-module-item {
    color: #9CA3AF;
}

[data-theme="dark"] .sidebar-module-item {
    border-color: #374151;
}

[data-theme="dark"] .sidebar-title h1 {
    color: #4B5563;
}

[data-theme="dark"] .divider {
    background-color: #374151;
}

[data-theme="dark"] .sidebar-header-mobile {
    border-bottom-color: #374151;
}

[data-theme="dark"] .sidebar-close-button {
    color: #9CA3AF;
}

[data-theme="dark"] .sidebar-close-button:hover {
    background-color: #374151;
}

[data-theme="dark"] .exit-button i {
    background: #374151;
    color: #60A5FA;
}

[data-theme="dark"] .exit-button span {
    color: #D1D5DB;
}

/* ── Sidebar Footer / User Menu ── */
[data-theme="dark"] .user-menu-button {
    border-color: #374151;
}

[data-theme="dark"] .user-menu-button:hover {
    background-color: #374151;
}

[data-theme="dark"] .user-name {
    color: #F3F4F6;
}

[data-theme="dark"] .user-role {
    color: #9CA3AF;
}

[data-theme="dark"] .dropdown-arrow {
    color: #9CA3AF;
}

[data-theme="dark"] .user-menu-button:hover .dropdown-arrow {
    color: #60A5FA;
}

[data-theme="dark"] .user-dropdown-menu {
    background-color: #1F2937;
    border-color: #374151;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .dropdown-item {
    color: #E5E7EB;
}

[data-theme="dark"] .dropdown-item:hover {
    background-color: #374151;
}

[data-theme="dark"] .dropdown-item.logout-item {
    color: #F87171;
}

[data-theme="dark"] .dropdown-item.logout-item:hover {
    background-color: rgba(248, 113, 113, 0.1);
    color: #FCA5A5;
}

[data-theme="dark"] .dropdown-divider {
    background-color: #374151;
}

[data-theme="dark"] .dropdown-item-text {
    color: #D1D5DB !important;
}

[data-theme="dark"] .dropdown-item-icon span {
    color: #D1D5DB;
}

/* ── Header (mobile) ── */
[data-theme="dark"] header {
    background: #1F2937;
    border-bottom-color: #374151;
}

[data-theme="dark"] .mobile-menu-button {
    color: #60A5FA;
}

[data-theme="dark"] .mobile-menu-button:hover {
    background-color: #374151;
}

/* ── Page Header ── */
[data-theme="dark"] .page-header-content {
    background: linear-gradient(180deg, #1F2937 0%, #111827 100%);
    border-bottom-color: #374151;
}

[data-theme="dark"] .page-header-content h1 {
    color: #F3F4F6;
}

[data-theme="dark"] .page-header-content p {
    color: #9CA3AF;
}

[data-theme="dark"] .page-header-left .back-button {
    background: #374151;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .page-header-left .back-button i {
    color: #60A5FA;
}

/* ── Mobile Bottom Navbar ── */
[data-theme="dark"] .mobile-bottom-navbar {
    background-color: #1F2937;
    border-top-color: #374151;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .mobile-nav-item {
    color: #9CA3AF;
}

[data-theme="dark"] .mobile-nav-item.active {
    color: #60A5FA;
}

[data-theme="dark"] .mobile-nav-login {
    color: #60A5FA;
}

/* ── Content / Home ── */
[data-theme="dark"] h1.greeting {
    color: #F3F4F6;
}

[data-theme="dark"] p.subtitle {
    color: #9CA3AF;
}

[data-theme="dark"] .home-chat-form {
    background: linear-gradient(to bottom, transparent, #111827 30%);
}

[data-theme="dark"] .home-chat-input-wrapper {
    background: #1F2937;
    border-color: #374151;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .home-chat-input, input.search-input {
    color: #E5E7EB;
    background-color: transparent !important;
}

[data-theme="dark"] .home-chat-input::placeholder {
    color: #6B7280;
}

[data-theme="dark"] .ai-badge {
    background: rgba(96, 165, 250, 0.12);
}

[data-theme="dark"] .ai-badge span {
    color: #60A5FA;
}

/* ── Action Cards (Home) ── */
[data-theme="dark"] .ai-assistant-intro .action-cards .action-card,
[data-theme="dark"] .ai-assistant-intro .action-cards button {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .ai-assistant-intro .action-cards .action-card h2,
[data-theme="dark"] .ai-assistant-intro .action-cards button h2 {
    color: #F3F4F6;
}

[data-theme="dark"] .ai-assistant-intro .action-cards .action-card p,
[data-theme="dark"] .ai-assistant-intro .action-cards button p {
    color: #9CA3AF;
}

[data-theme="dark"] .ai-assistant-intro .action-cards .action-card .action-card-btn {
    background: rgba(96, 165, 250, 0.1);
}

[data-theme="dark"] .ai-assistant-intro .action-cards .action-card .action-card-btn:hover {
    background: rgba(96, 165, 250, 0.18);
}

[data-theme="dark"] .ai-assistant-intro .action-cards .action-card .action-card-btn span {
    color: #60A5FA;
}

/* ── Explorer ── */
[data-theme="dark"] .ideation-card {
    background: #1F2937;
    border-color: #374151;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .ideation-card h3 {
    color: #F3F4F6;
}

[data-theme="dark"] .ideation-card p {
    color: #9CA3AF;
}

[data-theme="dark"] .ideation-card a {
    background: rgba(96, 165, 250, 0.1);
    color: #60A5FA;
}

[data-theme="dark"] h2.ideation-title {
    color: #D1D5DB;
}

/* ── Flash Messages ── */
[data-theme="dark"] .flash-success {
    background: rgba(16, 185, 129, 0.12);
    border-color: rgba(16, 185, 129, 0.25);
}

[data-theme="dark"] .flash-success .flash-toast-body {
    color: #6EE7B7;
}

[data-theme="dark"] .flash-error {
    background: rgba(239, 68, 68, 0.12);
    border-color: rgba(239, 68, 68, 0.25);
}

[data-theme="dark"] .flash-error .flash-toast-body {
    color: #FCA5A5;
}

/* ── PWA Banner ── */
[data-theme="dark"] .pwa-banner__content {
    background: #1F2937;
    border-color: #374151;
    box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .pwa-banner__text strong {
    color: #F3F4F6;
}

[data-theme="dark"] .pwa-banner__text span {
    color: #9CA3AF;
}

[data-theme="dark"] .pwa-banner__close {
    color: #9CA3AF;
}

[data-theme="dark"] .pwa-banner__close:hover {
    background-color: #374151;
    color: #E5E7EB;
}

/* ── Language Switcher ── */
[data-theme="dark"] .language-switcher-button {
    color: #9CA3AF;
}

[data-theme="dark"] .language-switcher-button:hover {
    background-color: #374151;
}

[data-theme="dark"] .language-dropdown-menu {
    background-color: #1F2937;
    border-color: #374151;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .language-dropdown-menu .dropdown-item {
    color: #E5E7EB;
}

[data-theme="dark"] .language-dropdown-menu .dropdown-item:hover {
    background-color: #374151;
}

[data-theme="dark"] .langue-button span {
    color: #9CA3AF;
}

/* ── Home Language Switcher ── */
[data-theme="dark"] .home-lang-btn {
    background: #1F2937;
    border-color: #374151;
    color: #60A5FA;
}

[data-theme="dark"] .home-lang-btn:hover {
    background: #374151;
    border-color: #60A5FA;
}

[data-theme="dark"] .home-lang-dropdown {
    background: #1F2937;
    border-color: #374151;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .home-lang-option {
    color: #E5E7EB;
}

[data-theme="dark"] .home-lang-option:hover {
    background: #374151;
}

[data-theme="dark"] .home-lang-option.active {
    color: #60A5FA;
}

[data-theme="dark"] .home-lang-option.active:hover {
    background: rgba(96, 165, 250, 0.1);
}

[data-theme="dark"] .home-lang-option i {
    color: #60A5FA;
}

/* ── Badges ── */
[data-theme="dark"] .credit-badge {
    border-color: #1F2937;
}

[data-theme="dark"] .notification-badge {
    border-color: #1F2937;
}

/* ═══════════════════════════════════════════════════
   PROFILE & SETTINGS
   ═══════════════════════════════════════════════════ */

[data-theme="dark"] .profile-page-header,
[data-theme="dark"] .settings-page-header {
    background: #1F2937;
    border-bottom-color: #374151;
}

[data-theme="dark"] .profile-page-title span,
[data-theme="dark"] .settings-page-title span,
[data-theme="dark"] .settings-page-title i {
    color: #F3F4F6;
}

[data-theme="dark"] .profile-tabs-nav {
    background: #1F2937;
    border-bottom-color: #374151;
}

[data-theme="dark"] .profile-tab-btn {
    color: #9CA3AF;
}

[data-theme="dark"] .profile-tab-btn:hover {
    color: #60A5FA;
}

[data-theme="dark"] .profile-tab-btn.active {
    color: #60A5FA;
    border-bottom-color: #60A5FA;
}

[data-theme="dark"] .profile-tab-btn.danger {
    color: #F87171;
}

[data-theme="dark"] .profile-tab-btn.danger.active {
    color: #F87171;
    border-bottom-color: #F87171;
}

[data-theme="dark"] .detailed-profile-section-title {
    color: #F3F4F6;
}

[data-theme="dark"] .collapsible-section-title {
    color: #F3F4F6;
}

/* Forms */
[data-theme="dark"] .detailed-form-input,
[data-theme="dark"] .detailed-form-textarea,
[data-theme="dark"] .profile-form-input {
    background: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .detailed-form-input:focus,
[data-theme="dark"] .detailed-form-textarea:focus,
[data-theme="dark"] .profile-form-input:focus {
    border-color: #60A5FA;
    background: #1a2332;
}

[data-theme="dark"] .phone-input-wrapper {
    border-color: #374151;
    background: #111827;
}

[data-theme="dark"] .phone-input-wrapper:focus-within {
    border-color: #60A5FA;
    background: #1a2332;
}

[data-theme="dark"] .phone-indicatif {
    color: #9CA3AF;
    border-color: #374151;
    background: #0d1117;
}

[data-theme="dark"] .detailed-form-label,
[data-theme="dark"] .profile-form-label {
    color: #D1D5DB;
}

[data-theme="dark"] .detailed-form-hint,
[data-theme="dark"] .profile-form-hint {
    color: #6B7280;
}

/* Cards & Sections */
[data-theme="dark"] .profile-user-card,
[data-theme="dark"] .profile-completion-section,
[data-theme="dark"] .profile-form-card,
[data-theme="dark"] .profile-sidebar-card,
[data-theme="dark"] .collapsible-section {
    background: #1F2937;
    border-color: #374151;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .profile-user-name {
    color: #F3F4F6;
}

[data-theme="dark"] .profile-user-detail-item {
    color: #9CA3AF;
}

[data-theme="dark"] .profile-user-detail-item i {
    color: #60A5FA;
}

[data-theme="dark"] .profile-tag {
    background: rgba(96, 165, 250, 0.12);
    color: #60A5FA;
}

[data-theme="dark"] .profile-edit-button,
[data-theme="dark"] .step-action-button,
[data-theme="dark"] .profile-avatar-upload-btn {
    background: #374151;
    border-color: #4B5563;
    color: #D1D5DB;
}

[data-theme="dark"] .profile-edit-button:hover,
[data-theme="dark"] .step-action-button:hover,
[data-theme="dark"] .profile-avatar-upload-btn:hover {
    background: #4B5563;
    border-color: #60A5FA;
    color: #60A5FA;
}

[data-theme="dark"] .profile-completion-step {
    background: #111827;
    border-color: #374151;
}

[data-theme="dark"] .profile-completion-step.active {
    border-color: #60A5FA;
    background: rgba(96, 165, 250, 0.08);
}

[data-theme="dark"] .profile-completion-step.completed {
    border-color: #065F46;
    background: rgba(16, 185, 129, 0.08);
}

[data-theme="dark"] .step-title {
    color: #F3F4F6;
}

[data-theme="dark"] .step-description {
    color: #9CA3AF;
}

[data-theme="dark"] .profile-progress-bar {
    background: #374151;
}

[data-theme="dark"] .profile-progress-percentage {
    color: #60A5FA;
}

[data-theme="dark"] .collapsible-section-header:hover {
    background: #111827;
}

[data-theme="dark"] .collapsible-section-icon {
    color: #9CA3AF;
}

[data-theme="dark"] .profile-form-header {
    border-bottom-color: #374151;
}

[data-theme="dark"] .profile-form-title,
[data-theme="dark"] .profile-completion-title,
[data-theme="dark"] .sidebar-card-title {
    color: #F3F4F6;
}

[data-theme="dark"] .profile-form-subtitle,
[data-theme="dark"] .sidebar-card-subtitle,
[data-theme="dark"] .sidebar-card-description {
    color: #9CA3AF;
}

[data-theme="dark"] .option-label {
    color: #E5E7EB;
}

[data-theme="dark"] .option-description {
    color: #6B7280;
}

[data-theme="dark"] .channel-button,
[data-theme="dark"] .yes-no-button {
    background: #374151;
    border-color: #4B5563;
    color: #D1D5DB;
}

[data-theme="dark"] .channel-button:hover,
[data-theme="dark"] .yes-no-button:hover {
    border-color: #60A5FA;
}

[data-theme="dark"] .learn-more-button {
    background: #374151;
    border-color: #60A5FA;
    color: #60A5FA;
}

[data-theme="dark"] .learn-more-button:hover {
    background: rgba(96, 165, 250, 0.1);
}

[data-theme="dark"] .learn-more-modal-overlay {
    background: rgba(0, 0, 0, 0.7);
}

[data-theme="dark"] .learn-more-modal {
    background: #1F2937;
}

[data-theme="dark"] .learn-more-modal-header h3 {
    color: #F3F4F6;
}

[data-theme="dark"] .learn-more-modal-close {
    background: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .learn-more-modal-close:hover {
    background: #4B5563;
    color: #F3F4F6;
}

[data-theme="dark"] .learn-more-item-icon {
    background: rgba(96, 165, 250, 0.1);
    color: #60A5FA;
}

[data-theme="dark"] .learn-more-item h4 {
    color: #F3F4F6;
}

[data-theme="dark"] .learn-more-item p {
    color: #9CA3AF;
}

[data-theme="dark"] .slider-value {
    color: #60A5FA;
}

[data-theme="dark"] .availability-slider {
    background: #374151;
}

[data-theme="dark"] .checkbox-label {
    color: #D1D5DB;
}

/* Sessions */
[data-theme="dark"] .active-session-item {
    background: #111827;
    border-color: #374151;
}

[data-theme="dark"] .active-session-item.current-session {
    border-color: #60A5FA;
    background: rgba(96, 165, 250, 0.08);
}

[data-theme="dark"] .session-device strong {
    color: #F3F4F6;
}

[data-theme="dark"] .current-session-badge {
    background: rgba(96, 165, 250, 0.15);
    color: #60A5FA;
}

[data-theme="dark"] .session-location {
    color: #9CA3AF;
}

[data-theme="dark"] .session-location i {
    color: #60A5FA;
}

[data-theme="dark"] .session-time {
    color: #6B7280;
}

[data-theme="dark"] .status-badge.active {
    background: rgba(16, 185, 129, 0.15);
    color: #34D399;
}

[data-theme="dark"] .no-sessions-message {
    color: #6B7280;
}

/* RGPD */
[data-theme="dark"] .rgpd-item {
    background: #111827;
    border-color: #374151;
}

[data-theme="dark"] .rgpd-item-title {
    color: #F3F4F6;
}

[data-theme="dark"] .rgpd-item-description {
    color: #9CA3AF;
}

[data-theme="dark"] .rgpd-export-button {
    background: #374151;
    border-color: #60A5FA;
    color: #60A5FA;
}

[data-theme="dark"] .rgpd-export-button:hover {
    background: rgba(96, 165, 250, 0.1);
}

[data-theme="dark"] .rgpd-toggle-slider {
    background: #4B5563;
}

[data-theme="dark"] .rgpd-toggle-slider::before {
    background: #D1D5DB;
}

/* Danger Zone */
[data-theme="dark"] .danger-zone-card {
    background: rgba(239, 68, 68, 0.08);
    border-color: rgba(239, 68, 68, 0.3);
}

[data-theme="dark"] .danger-zone-title {
    color: #F87171;
}

[data-theme="dark"] .danger-zone-warning {
    color: #FCA5A5;
}

/* ═══════════════════════════════════════════════════
   BROAD MODULE OVERRIDES
   Common patterns across projects, chat, notifications, etc.
   ═══════════════════════════════════════════════════ */

/* White background cards & containers */
[data-theme="dark"] .project-card,
[data-theme="dark"] .project-module-card,
[data-theme="dark"] .chat-sidebar-item,
[data-theme="dark"] .notification-item,
[data-theme="dark"] .credit-card,
[data-theme="dark"] .fiche-idee-card,
[data-theme="dark"] .tendance-card,
[data-theme="dark"] .favori-card,
[data-theme="dark"] .rd-card,
[data-theme="dark"] .segment-card,
[data-theme="dark"] .business-plan-card,
[data-theme="dark"] .bp-section-card,
[data-theme="dark"] .etude-card,
[data-theme="dark"] .modele-card,
[data-theme="dark"] .projection-card,
[data-theme="dark"] .identite-card,
[data-theme="dark"] .cohorte-card {
    background: #1F2937 !important;
    border-color: #374151 !important;
}

/* Projects empty state */
[data-theme="dark"] .projects-empty-title {
    color: #F3F4F6;
}

[data-theme="dark"] .projects-empty-description {
    color: #9CA3AF;
}

[data-theme="dark"] .projects-empty-icon svg path,
[data-theme="dark"] .projects-empty-icon svg line {
    stroke: #4B5563;
}

[data-theme="dark"] .projects-empty-cta {
    background: #60A5FA;
}

[data-theme="dark"] .projects-empty-cta:hover {
    background: #3B82F6;
}

/* Subtle background surfaces */
[data-theme="dark"] .chat-container,
[data-theme="dark"] .chat-messages,
[data-theme="dark"] .notifications-page,
[data-theme="dark"] .credits-page,
[data-theme="dark"] .project-page {
    background-color: #111827;
}

/* Chat specific */
[data-theme="dark"] .chat-input-container,
[data-theme="dark"] .chat-input-wrapper {
    background: transparent;
    border-color: #374151;
}

[data-theme="dark"] .chat-input,
[data-theme="dark"] .chat-textarea {
    background: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .chat-message-user {
    background: #1e3a5f;
    color: #E5E7EB;
}

[data-theme="dark"] .chat-message-assistant {
    background: #1F2937;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .chat-sidebar {
    background: #1F2937;
    border-right-color: #374151;
}

[data-theme="dark"] .chat-sidebar-item:hover,
[data-theme="dark"] .chat-sidebar-item.active {
    background: #374151;
}

[data-theme="dark"] .chat-session-header {
    background: #1F2937;
    border-bottom-color: #374151;
}

/* Notifications */
[data-theme="dark"] .notification-item {
    border-bottom-color: #374151;
}

[data-theme="dark"] .notification-item:hover {
    background: #374151 !important;
}

[data-theme="dark"] .notification-item.unread {
    background: rgba(96, 165, 250, 0.06) !important;
}

/* Projects */
[data-theme="dark"] .project-page-header-content {
    background: linear-gradient(180deg, #1F2937 0%, #111827 100%);
    border-bottom-color: #374151;
}

[data-theme="dark"] .projects-page {
    background-color: #111827;
}

/* Modals */
[data-theme="dark"] .modal-content,
[data-theme="dark"] .projects-modal-content,
[data-theme="dark"] .segment-edit-modal-content {
    background: #1F2937 !important;
    border-color: #374151 !important;
}

[data-theme="dark"] .modal-header,
[data-theme="dark"] .segment-edit-modal-header {
    border-bottom-color: #374151;
}

[data-theme="dark"] .modal-footer {
    border-top-color: #374151;
}

/* Segment help modal content */
[data-theme="dark"] .segment-help-modal-content {
    background-color: #1F2937;
}

[data-theme="dark"] .segment-edit-modal-header {
    background: linear-gradient(180deg, #1a2332 0%, #1F2937 100%);
    border-bottom-color: #374151;
}

[data-theme="dark"] .segment-edit-modal-header h3 {
    color: #F3F4F6;
}

[data-theme="dark"] .segment-edit-modal-close {
    color: #9CA3AF;
}

[data-theme="dark"] .segment-edit-modal-close:hover {
    background-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .segment-help-icon {
    background: rgba(96, 165, 250, 0.12);
}

[data-theme="dark"] .segment-help-section h4 {
    color: #F3F4F6;
}

[data-theme="dark"] .segment-help-section p {
    color: #9CA3AF;
}

[data-theme="dark"] .segment-help-reason strong {
    color: #F3F4F6;
}

[data-theme="dark"] .segment-help-reason p {
    color: #9CA3AF;
}

[data-theme="dark"] .segment-help-reason-num {
    background: #2563EB;
}

[data-theme="dark"] .segment-help-step {
    background: #111827;
}

[data-theme="dark"] .segment-help-step-badge {
    background: #2563EB;
}

[data-theme="dark"] .segment-help-step p {
    color: #9CA3AF;
}

[data-theme="dark"] .segment-edit-modal-actions {
    border-top-color: #374151 !important;
}

[data-theme="dark"] .segment-edit-modal-cancel {
    background: #1F2937;
    border-color: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .segment-edit-modal-cancel:hover {
    background: #374151;
}

[data-theme="dark"] .segment-edit-modal-save {
    background-color: #2563EB;
}

[data-theme="dark"] .segment-edit-modal-save:hover:not(:disabled) {
    background-color: #3B82F6;
}

/* Segment edit form */
[data-theme="dark"] .segment-edit-form-group label {
    color: #D1D5DB;
}

[data-theme="dark"] .segment-edit-form-input,
[data-theme="dark"] .segment-edit-form-textarea {
    background: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .segment-edit-form-input:focus,
[data-theme="dark"] .segment-edit-form-textarea:focus {
    border-color: #60A5FA;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.1);
}

/* Segment metrics / progress bars */
[data-theme="dark"] .segment-metrics {
    border-color: #374151;
}

[data-theme="dark"] .segment-metrics-separator {
    background-color: #374151;
}

[data-theme="dark"] .segment-metrics-item-value {
    background: #374151;
    border-color: #4B5563;
}

[data-theme="dark"] .segment-metrics-item-fill {
    background: #60A5FA;
    border-color: #3B82F6;
}

[data-theme="dark"] .segment-score-value {
    -webkit-text-stroke-color: #F3F4F6;
}

[data-theme="dark"] .segment-edit-button {
    border-color: #374151;
}

[data-theme="dark"] .segment-edit-button span {
    color: #9CA3AF;
}

[data-theme="dark"] .segment-edit-button:hover {
    background: #374151;
}

/* Tables */
[data-theme="dark"] table {
    border-color: #374151;
}

[data-theme="dark"] th {
    background: #1F2937;
    border-color: #374151;
    color: #D1D5DB;
}

[data-theme="dark"] td {
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] tr:hover td {
    background: #374151;
}

/* Generic text color overrides for headings & paragraphs inside dark mode */
[data-theme="dark"] h1, [data-theme="dark"] h2,
[data-theme="dark"] h3, [data-theme="dark"] h4 {
    color: #F3F4F6 !important;
}

/* Inputs & selects (broad) */
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] input[type="tel"],
[data-theme="dark"] input[type="url"],
[data-theme="dark"] textarea,
[data-theme="dark"] select {
    background-color: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
    color: #6B7280;
}

[data-theme="dark"] input:focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] select:focus {
    border-color: #60A5FA;
}

/* Buttons (secondary / outlined) */
[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .btn-outline {
    background: #374151;
    border-color: #4B5563;
    color: #D1D5DB;
}

/* Scrollbar for dark mode */
[data-theme="dark"] {
    scrollbar-color: #374151 #111827;
}

/* ═══════════════════════════════════════════════════
   PROJECTS PAGE
   ═══════════════════════════════════════════════════ */

[data-theme="dark"] .search-filters-container form {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .project-search-bar {
    color: #E5E7EB;
}

[data-theme="dark"] .project-search-bar .search-icon {
    filter: brightness(0) saturate(100%) invert(75%) sepia(5%) saturate(500%) hue-rotate(180deg);
}

[data-theme="dark"] .search-filters-container form input {
    color: #E5E7EB;
}

[data-theme="dark"] .search-filters-container form input::placeholder {
    color: #6B7280;
}

[data-theme="dark"] .filters-button {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .filters-button span {
    color: #9CA3AF;
}

[data-theme="dark"] .filters-button .filter-icon {
    filter: brightness(0) saturate(100%) invert(75%) sepia(5%) saturate(500%) hue-rotate(180deg);
}

[data-theme="dark"] .filters-button:hover {
    border-color: #60A5FA;
}

[data-theme="dark"] .filters-button:hover span {
    color: #60A5FA;
}

[data-theme="dark"] .progress-bar {
    background: #374151;
    border-color: #4B5563;
}

[data-theme="dark"] .progress-fill {
    border-color: #3B82F6;
}

[data-theme="dark"] .project-step-card {
    background: #1F2937;
    border-color: #374151;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .step-number {
    color: #9CA3AF;
}

[data-theme="dark"] .step-title {
    color: #F3F4F6;
}

[data-theme="dark"] .step-credits-cost {
    background: #374151;
}

[data-theme="dark"] .project-step-card.locked {
    opacity: 0.4;
}

[data-theme="dark"] .step-status.open {
    background: rgba(96, 165, 250, 0.08);
    border-color: #60A5FA;
    color: #60A5FA;
}

[data-theme="dark"] .step-status.in-progress {
    background: rgba(245, 158, 11, 0.1);
    border-color: #F59E0B;
    color: #FBBF24;
}

[data-theme="dark"] .step-status.locked {
    background: rgba(107, 114, 128, 0.1);
    border-color: #6B7280;
    color: #6B7280;
}

[data-theme="dark"] .form-textarea {
    background-color: #111827 !important;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .form-textarea:focus {
    border-color: #60A5FA;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.1);
}

[data-theme="dark"] .form-textarea::placeholder {
    color: #6B7280;
}

[data-theme="dark"] .form-select {
    background-color: #111827 !important;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .form-select:focus {
    border-color: #60A5FA;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.1);
}

[data-theme="dark"] .form-select option {
    background-color: #1F2937;
    color: #E5E7EB;
}

[data-theme="dark"] .settings-tabs {
    background: rgba(55, 65, 81, 0.6);
}

[data-theme="dark"] .settings-tabs button {
    color: #9CA3AF;
}

[data-theme="dark"] .settings-tabs button:hover {
    color: #E5E7EB;
}

[data-theme="dark"] .settings-tabs button.active {
    background: #60A5FA;
    color: #FFF;
}

[data-theme="dark"] .settings-card {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .settings-card .member-item {
    background: #111827;
}

/* Navigation tabs (cohortes-filter) */
[data-theme="dark"] .cohortes-filter-tabs {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .cohortes-filter-tab {
    color: #9CA3AF;
}

[data-theme="dark"] .cohortes-filter-tab:hover {
    color: #E5E7EB;
    background: rgba(96, 165, 250, 0.06);
}

[data-theme="dark"] .cohortes-filter-tab.active {
    background: #374151;
    color: #60A5FA;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .step-description {
    color: #9CA3AF;
}

[data-theme="dark"] .step-credits-cost span {
    color: #9CA3AF;
}

[data-theme="dark"] .step-credits-cost.open {
    background: rgba(96, 165, 250, 0.1);
}

[data-theme="dark"] .step-credits-cost.open span {
    color: #60A5FA;
}

[data-theme="dark"] .step-button {
    background: #374151;
    border-color: #4B5563;
    color: #60A5FA;
}

[data-theme="dark"] .step-button:hover {
    background: #4B5563;
}

[data-theme="dark"] .step-button.primary {
    background: #2563EB;
    color: #FFF;
    border-color: #2563EB;
}

[data-theme="dark"] .project-show-back-link {
    color: #9CA3AF;
}

[data-theme="dark"] .project-show-back-link:hover {
    background: rgba(96, 165, 250, 0.1);
    color: #60A5FA;
}

[data-theme="dark"] .project-credits-info {
    background: rgba(96, 165, 250, 0.1);
    border-color: rgba(96, 165, 250, 0.2);
}

[data-theme="dark"] .project-credits-info span {
    color: #60A5FA;
}

[data-theme="dark"] .project-cohorte-badge {
    color: #60A5FA;
}

/* Project settings form */
[data-theme="dark"] .settings-form .form-group label {
    color: #D1D5DB;
}

[data-theme="dark"] .settings-form .form-group input,
[data-theme="dark"] .settings-form .form-group textarea,
[data-theme="dark"] .settings-form .form-group select {
    background: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .settings-form .save-button {
    background: #2563EB;
}

[data-theme="dark"] .settings-form .save-button:hover {
    background: #3B82F6;
}

/* Documents */
[data-theme="dark"] .document-item {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .document-item:hover {
    background: #263244;
}

[data-theme="dark"] .document-icon {
    background: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .document-name {
    color: #F3F4F6;
}

[data-theme="dark"] .document-delete-btn {
    background: #1F2937;
    border-color: #7F1D1D;
    color: #F87171;
}

[data-theme="dark"] .document-delete-btn:hover {
    background: rgba(248, 113, 113, 0.1);
    border-color: #F87171;
}

[data-theme="dark"] .documents-upload-label {
    border-color: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .documents-upload-label:hover {
    border-color: #60A5FA;
    background: rgba(96, 165, 250, 0.05);
    color: #60A5FA;
}

/* Members */
[data-theme="dark"] .invite-button {
    background: #2563EB;
}

/* Danger zone */
[data-theme="dark"] .project-danger-zone {
    background: #1F2937;
    border-color: #7F1D1D;
}

[data-theme="dark"] .project-danger-zone-header {
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.1) 0%, rgba(220, 38, 38, 0.05) 100%);
    border-bottom-color: #7F1D1D;
}

[data-theme="dark"] .project-danger-zone-icon {
    background: rgba(220, 38, 38, 0.15);
}

[data-theme="dark"] .project-danger-zone-header h2 {
    color: #F87171;
}

[data-theme="dark"] .project-danger-zone-header p {
    color: #FCA5A5;
}

[data-theme="dark"] .project-danger-zone-details {
    border-bottom-color: rgba(220, 38, 38, 0.15);
}

[data-theme="dark"] .project-danger-zone-info {
    background: rgba(251, 191, 36, 0.08);
    border-color: rgba(251, 191, 36, 0.2);
}

[data-theme="dark"] .project-danger-zone-info i {
    color: #FBBF24;
}

[data-theme="dark"] .project-danger-zone-info span {
    color: #FCD34D;
}

/* Alerts */
[data-theme="dark"] .project-insufficient-credits-alert {
    background: linear-gradient(135deg, rgba(251, 191, 36, 0.15) 0%, rgba(245, 158, 11, 0.1) 100%);
    border-color: rgba(251, 191, 36, 0.3);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .project-locked-alert {
    background: linear-gradient(135deg, rgba(220, 38, 38, 0.12) 0%, rgba(220, 38, 38, 0.06) 100%);
    border-color: rgba(220, 38, 38, 0.3);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .project-locked-alert .alert-title {
    color: #F87171;
}

[data-theme="dark"] .project-locked-alert .alert-message {
    color: #FCA5A5;
}

[data-theme="dark"] .project-locked-alert .alert-message strong {
    color: #F87171;
}

[data-theme="dark"] .alert-title {
    color: #FBBF24;
}

[data-theme="dark"] .alert-message {
    color: #FCD34D;
}

/* ═══════════════════════════════════════════════════
   MODULE PAGES (shared)
   ═══════════════════════════════════════════════════ */

[data-theme="dark"] .module-page {
    background-color: #111827;
}

[data-theme="dark"] .module-instruction h2 {
    color: #F3F4F6;
}

[data-theme="dark"] .module-instruction p {
    color: #9CA3AF;
}

[data-theme="dark"] .aide-button span {
    color: #9CA3AF;
}

[data-theme="dark"] .download-button {
    background: #1F2937;
    border-color: #374151;
    color: #60A5FA;
}

[data-theme="dark"] .download-button span {
    color: #60A5FA;
}

[data-theme="dark"] .download-button:hover {
    background: #374151;
}

[data-theme="dark"] .ai-card-content,
[data-theme="dark"] .simple-loader {
    background: #1F2937;
}

[data-theme="dark"] .ai-card-title {
    color: #F3F4F6;
}

[data-theme="dark"] .ai-card-description {
    color: #9CA3AF;
}

[data-theme="dark"] .generate-segments-button {
    background: #2563EB;
}

[data-theme="dark"] .simple-loader-text {
    color: #9CA3AF;
}

[data-theme="dark"] .module-footer {
    background: #1F2937;
    border-top-color: #374151;
}

[data-theme="dark"] .module-footer-left h6 {
    color: #F3F4F6;
}

[data-theme="dark"] .module-footer-button {
    background: #2563EB;
}

/* ═══════════════════════════════════════════════════
   PROPOSITION DE VALEUR
   ═══════════════════════════════════════════════════ */

/* View toggle */
[data-theme="dark"] .view-toggle {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .view-toggle button {
    color: #9CA3AF;
}

[data-theme="dark"] .view-toggle button.active {
    background: #2563EB;
    color: #FFF;
}

/* Segment dropdown */
[data-theme="dark"] .segment-dropdown-button {
    background: linear-gradient(180deg, #1a2332 0%, #1F2937 100%);
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .segment-dropdown-button:hover {
    background: #374151;
}

[data-theme="dark"] .segment-dropdown-text {
    color: #60A5FA;
}

[data-theme="dark"] .segment-dropdown-menu {
    background-color: #1F2937;
    border-color: #374151;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .segment-dropdown-item {
    color: #E5E7EB;
}

[data-theme="dark"] .segment-dropdown-item:hover,
[data-theme="dark"] .segment-dropdown-item.active {
    background-color: #374151;
}

/* Summary */
[data-theme="dark"] .summary-main-statement label,
[data-theme="dark"] .summary-sub-item label {
    color: #D1D5DB;
}

[data-theme="dark"] .summary-main-statement textarea,
[data-theme="dark"] .summary-sub-item textarea {
    background: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

/* Customer profile & Value prop sections */
[data-theme="dark"] .customer-profile-section,
[data-theme="dark"] .value-prop-map-section {
    background: #111827;
}

[data-theme="dark"] .customer-profile-section h2,
[data-theme="dark"] .value-prop-map-section h2 {
    color: #9CA3AF;
}

[data-theme="dark"] .customer-profile-list {
    border-top-color: #374151;
}

[data-theme="dark"] .customer-profile-card,
[data-theme="dark"] .value-prop-map-card {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .customer-profile-card-header-left-content .item-count {
    background: rgba(96, 165, 250, 0.12);
    color: #60A5FA;
}

/* VP categories */
[data-theme="dark"] .vp-category {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .vp-category-header h3 {
    color: #E5E7EB;
}

/* VP items - dark adaptations for colored cards */
[data-theme="dark"] .job-item {
    background: rgba(96, 165, 250, 0.1);
}

[data-theme="dark"] .pain-item {
    background: rgba(239, 68, 68, 0.12);
}

[data-theme="dark"] .gain-item {
    background: rgba(34, 197, 94, 0.12);
}

[data-theme="dark"] .service-item {
    background: rgba(234, 179, 8, 0.12);
}

[data-theme="dark"] .vp-item.pain-reliever-item,
[data-theme="dark"] .pain-reliever-item {
    background: rgba(249, 115, 22, 0.12);
    border-color: rgba(249, 115, 22, 0.25);
}

[data-theme="dark"] .vp-item.gain-creator-item,
[data-theme="dark"] .gain-creator-item {
    background: rgba(34, 197, 94, 0.12);
    border-color: rgba(34, 197, 94, 0.25);
}

[data-theme="dark"] .vp-item-content p {
    color: #D1D5DB;
}

[data-theme="dark"] .vp-item-input {
    color: #E5E7EB;
}

[data-theme="dark"] .vp-item-drag-over {
    border-top-color: #60A5FA;
}

/* VP dropdown */
[data-theme="dark"] .vp-item-dropdown {
    background-color: #1F2937;
    border-color: #374151;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .vp-item-dropdown .dropdown-item {
    color: #D1D5DB;
}

[data-theme="dark"] .vp-item-dropdown .dropdown-item:hover {
    background: #374151;
}

/* Confirmed tags dark */
[data-theme="dark"] .confirmed-tag {
    border-color: rgba(96, 165, 250, 0.3);
    color: #93C5FD;
}

[data-theme="dark"] .pain-item .confirmed-tag {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.3);
    color: #FCA5A5;
}

[data-theme="dark"] .gain-item .confirmed-tag {
    background: rgba(34, 197, 94, 0.1);
    border-color: rgba(34, 197, 94, 0.3);
    color: #86EFAC;
}

/* Export PDF dropdown */
[data-theme="dark"] .export-pdf-dropdown {
    background: #1F2937;
    border-color: #374151;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .export-pdf-dropdown-item {
    color: #E5E7EB;
}

[data-theme="dark"] .export-pdf-dropdown-item:hover {
    background: #374151;
}

[data-theme="dark"] .export-pdf-dropdown-item svg {
    color: #9CA3AF;
}

/* Color picker */
[data-theme="dark"] .vp-color-swatch-none {
    background: #1F2937;
    border-color: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .vp-color-option-inline.selected {
    border-color: #60A5FA;
    box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.25);
}

/* ═══════════════════════════════════════════════════
   MODELE ECONOMIQUE (Business Model Canvas)
   ═══════════════════════════════════════════════════ */

/* BMC Grid & Sections */
[data-theme="dark"] .bmc-section {
    background-color: #1a2332;
    border-color: #374151;
}

[data-theme="dark"] .bmc-partners,
[data-theme="dark"] .bmc-activities,
[data-theme="dark"] .bmc-value-prop,
[data-theme="dark"] .bmc-relationships,
[data-theme="dark"] .bmc-segments,
[data-theme="dark"] .bmc-resources,
[data-theme="dark"] .bmc-channels,
[data-theme="dark"] .bmc-costs,
[data-theme="dark"] .bmc-revenue {
    background-color: #1a2332;
    border-color: #374151;
}

[data-theme="dark"] .bmc-section-header h3 {
    color: #E5E7EB;
}

[data-theme="dark"] .bmc-add-item {
    color: #6B7280;
}

[data-theme="dark"] .bmc-add-item:hover {
    color: #60A5FA;
}

/* BMC Items (post-its) */
[data-theme="dark"] .bmc-item-drag-over {
    border-top-color: #60A5FA;
}

[data-theme="dark"] .bmc-items-drag-over {
    background: rgba(96, 165, 250, 0.08);
}

[data-theme="dark"] .bmc-item-delete {
    color: inherit;
}

[data-theme="dark"] .bmc-item-delete:hover {
    background: rgba(0, 0, 0, 0.2);
}

/* BMC Modal */
[data-theme="dark"] .bmc-modal-content {
    background-color: #1F2937;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .bmc-modal-header {
    background: linear-gradient(180deg, #374151 0%, #1F2937 100%);
    border-bottom-color: #374151;
}

[data-theme="dark"] .bmc-modal-header h3 {
    color: #F3F4F6;
}

[data-theme="dark"] .bmc-modal-close {
    color: #6B7280;
}

[data-theme="dark"] .bmc-modal-close:hover {
    background-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .bmc-form-group label {
    color: #D1D5DB;
}

[data-theme="dark"] .bmc-form-textarea {
    background-color: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .bmc-form-textarea:focus {
    border-color: #60A5FA;
}

[data-theme="dark"] .bmc-color-option.active {
    border-color: rgba(255, 255, 255, 0.4);
}

[data-theme="dark"] .bmc-modal-actions {
    border-top-color: #374151;
}

[data-theme="dark"] .bmc-modal-cancel {
    background-color: #111827;
    color: #9CA3AF;
}

[data-theme="dark"] .bmc-modal-cancel:hover {
    background-color: #374151;
}

[data-theme="dark"] .bmc-modal-save {
    background-color: #2563EB;
}

[data-theme="dark"] .bmc-modal-save:hover {
    background-color: #3B82F6;
}

/* ═══════════════════════════════════════════════════
   PROJECTION FINANCIERE
   ═══════════════════════════════════════════════════ */

/* Welcome Modal */
[data-theme="dark"] .welcome-modal-content {
    background-color: #1F2937;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .welcome-modal-close {
    color: #6B7280;
}

[data-theme="dark"] .welcome-modal-close:hover {
    background-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .welcome-title {
    color: #F3F4F6;
}

[data-theme="dark"] .welcome-description {
    color: #9CA3AF;
}

[data-theme="dark"] .welcome-modal-footer {
    border-top-color: #374151;
    background-color: #111827;
}

[data-theme="dark"] .welcome-modal-footer-esc {
    border-top-color: #374151;
    background-color: #111827;
}

[data-theme="dark"] .welcome-previous-button {
    color: #9CA3AF;
}

[data-theme="dark"] .welcome-previous-button:hover {
    color: #E5E7EB;
}

[data-theme="dark"] .progress-step {
    background-color: #374151;
}

[data-theme="dark"] .progress-step.active {
    background-color: #2563EB;
}

[data-theme="dark"] .welcome-next-button {
    background-color: #2563EB;
}

[data-theme="dark"] .welcome-next-button:hover {
    background-color: #3B82F6;
}

[data-theme="dark"] .welcome-configure-button {
    background-color: #2563EB;
}

[data-theme="dark"] .welcome-configure-button:hover {
    background-color: #3B82F6;
}

/* Welcome Config Form */
[data-theme="dark"] .welcome-modal-header-form {
    border-bottom-color: #374151;
}

[data-theme="dark"] .welcome-form-title-section i {
    color: #60A5FA;
}

[data-theme="dark"] .welcome-form-title {
    color: #F3F4F6;
}

[data-theme="dark"] .welcome-form-description {
    color: #9CA3AF;
}

[data-theme="dark"] .welcome-form-label {
    color: #D1D5DB;
}

[data-theme="dark"] .welcome-form-select,
[data-theme="dark"] .welcome-form-input {
    background-color: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .welcome-form-select:focus,
[data-theme="dark"] .welcome-form-input:focus {
    border-color: #60A5FA;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.15);
}

[data-theme="dark"] .welcome-checkbox-label {
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .welcome-checkbox-label:hover {
    background-color: #374151;
    border-color: #4B5563;
}

[data-theme="dark"] .welcome-checkbox-custom {
    border-color: #4B5563;
    background-color: #111827;
}

[data-theme="dark"] .welcome-checkbox-text {
    color: #D1D5DB;
}

[data-theme="dark"] .welcome-form-footer {
    border-top-color: #374151;
}

[data-theme="dark"] .welcome-back-button {
    color: #9CA3AF;
}

[data-theme="dark"] .welcome-back-button:hover {
    color: #E5E7EB;
}

[data-theme="dark"] .welcome-generate-button {
    background-color: #2563EB;
}

[data-theme="dark"] .welcome-generate-button:hover {
    background-color: #3B82F6;
}

[data-theme="dark"] .bp-step-indicator-label {
    color: #9CA3AF;
}

[data-theme="dark"] .bp-step-indicator-bar {
    background: #374151;
}

/* Projection main content */
[data-theme="dark"] .projection-main-content {
    background-color: #111827;
}

/* Projection Nav Tabs */
[data-theme="dark"] .projection-nav-tabs {
    border-bottom-color: #374151;
}

[data-theme="dark"] .projection-nav-tab {
    background: #1F2937;
}

[data-theme="dark"] .projection-nav-tab span {
    color: #6B7280;
}

[data-theme="dark"] .projection-nav-tab.active {
    background: linear-gradient(0deg, #2563EB 0%, #2563EB 100%), #1F2937;
    border-bottom-color: #2563EB;
}

[data-theme="dark"] .projection-nav-tab.active span {
    color: #FFF;
}

/* Metric Cards (projection) */
[data-theme="dark"] .metric-value {
    color: #F3F4F6;
}

[data-theme="dark"] .metric-details {
    color: #6B7280;
}

/* Charts */
[data-theme="dark"] .chart-card {
    border-color: #374151;
}

[data-theme="dark"] .chart-card-header {
    background: linear-gradient(164deg, #374151 1.26%, #1F2937 79.92%);
    border-bottom-color: #374151;
}

[data-theme="dark"] .chart-title {
    color: #E5E7EB;
}

/* Scenarios */
[data-theme="dark"] .scenarios-header {
    border-color: #374151;
    background: #1F2937;
}

[data-theme="dark"] .scenarios-title {
    color: #F3F4F6;
}

[data-theme="dark"] .scenarios-subtitle {
    color: #6B7280;
}

[data-theme="dark"] .scenario-buttons {
    background: #111827;
    border-color: #374151;
}

[data-theme="dark"] .scenario-buttons button {
    color: #6B7280;
}

[data-theme="dark"] .scenario-buttons button.active {
    background: #2563EB;
    color: #FFF;
}

[data-theme="dark"] .scenarios-multipliers {
    border-left-color: #374151;
}

[data-theme="dark"] .multiplier-item {
    color: #9CA3AF;
}

/* Investments */
[data-theme="dark"] .investments-list-card {
    border-color: #374151;
}

[data-theme="dark"] .investments-list-header {
    background: linear-gradient(180deg, #374151 0%, #1F2937 100%);
    border-bottom-color: #374151;
}

[data-theme="dark"] .investments-list-header h3 {
    color: #E5E7EB;
}

[data-theme="dark"] .add-investment-btn,
[data-theme="dark"] .add-line-btn {
    color: #60A5FA;
}

[data-theme="dark"] thead tr {
    background-color: #1a2332;
}

[data-theme="dark"] thead tr th {
    color: #9CA3AF;
}

[data-theme="dark"] td,
[data-theme="dark"] th {
    border-bottom-color: #374151;
}

[data-theme="dark"] tbody td {
    color: #D1D5DB;
}

[data-theme="dark"] .edit-investment-btn i,
[data-theme="dark"] .delete-investment-btn i,
[data-theme="dark"] .edit-line-btn i,
[data-theme="dark"] .delete-line-btn i {
    color: #6B7280;
}

[data-theme="dark"] .investments-total {
    border-color: #374151;
    background: #1F2937;
}

[data-theme="dark"] .total-label {
    color: #9CA3AF;
}

[data-theme="dark"] .total-value {
    color: #60A5FA;
}

[data-theme="dark"] .investments-distribution-card {
    border-color: #374151;
}

[data-theme="dark"] .distribution-title {
    color: #E5E7EB;
}

[data-theme="dark"] .distribution-label {
    color: #9CA3AF;
}

[data-theme="dark"] .distribution-percent {
    color: #E5E7EB;
}

[data-theme="dark"] .distribution-bar-container {
    background: #374151;
}

/* Investment Modal */
[data-theme="dark"] .investment-modal-content {
    background-color: #1F2937;
}

[data-theme="dark"] .investment-modal-header {
    border-bottom-color: #374151;
}

[data-theme="dark"] .investment-modal-title {
    color: #F3F4F6;
}

[data-theme="dark"] .investment-modal-close {
    color: #6B7280;
}

[data-theme="dark"] .investment-modal-close:hover {
    background-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .investment-form-label {
    color: #D1D5DB;
}

[data-theme="dark"] .investment-form-input,
[data-theme="dark"] .investment-form-select {
    background-color: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .investment-form-input:focus,
[data-theme="dark"] .investment-form-select:focus {
    border-color: #60A5FA;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.15);
}

[data-theme="dark"] .investment-currency {
    color: #6B7280;
}

[data-theme="dark"] .investment-form-footer {
    border-top-color: #374151;
}

[data-theme="dark"] .investment-form-cancel {
    background-color: #111827;
    color: #9CA3AF;
}

[data-theme="dark"] .investment-form-cancel:hover {
    background-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .investment-form-submit {
    background-color: #2563EB;
}

[data-theme="dark"] .investment-form-submit:hover {
    background-color: #3B82F6;
}

/* Income Statement */
[data-theme="dark"] .income-statement-section {
    border-color: #374151;
}

[data-theme="dark"] .income-statement-section-title {
    color: #E5E7EB;
}

[data-theme="dark"] .income-statement-form-checkbox-label {
    color: #D1D5DB;
}

/* Income Statement Modal */
[data-theme="dark"] .income-statement-modal-content {
    background-color: #1F2937;
}

[data-theme="dark"] .income-statement-modal-header {
    border-bottom-color: #374151;
}

[data-theme="dark"] .income-statement-modal-title {
    color: #F3F4F6;
}

[data-theme="dark"] .income-statement-modal-close {
    color: #6B7280;
}

[data-theme="dark"] .income-statement-modal-close:hover {
    background-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .income-statement-form-label {
    color: #D1D5DB;
}

[data-theme="dark"] .income-statement-form-input,
[data-theme="dark"] .income-statement-form-select {
    background-color: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .income-statement-form-input:focus,
[data-theme="dark"] .income-statement-form-select:focus {
    border-color: #60A5FA;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.15);
}

[data-theme="dark"] .income-statement-currency {
    color: #6B7280;
}

[data-theme="dark"] .income-statement-form-footer {
    border-top-color: #374151;
}

[data-theme="dark"] .income-statement-form-cancel {
    background-color: #111827;
    color: #9CA3AF;
}

[data-theme="dark"] .income-statement-form-cancel:hover {
    background-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .income-statement-form-submit {
    background-color: #2563EB;
}

[data-theme="dark"] .income-statement-form-submit:hover {
    background-color: #3B82F6;
}

/* Cashflow */
[data-theme="dark"] .cashflow-table-container {
    border-color: #374151;
}

[data-theme="dark"] .export-csv-btn {
    color: #60A5FA;
}

/* Balance Sheet */
[data-theme="dark"] .balance-sheet-card {
    border-color: #374151;
}

[data-theme="dark"] .balance-sheet-card-header-container {
    border-bottom-color: #374151;
    background: rgba(30, 58, 95, 0.5);
}

[data-theme="dark"] .passif-card-header-container {
    border-bottom-color: #374151;
    background: rgba(0, 80, 33, 0.2);
}

[data-theme="dark"] .balance-sheet-card-title {
    color: #F3F4F6;
}

[data-theme="dark"] .balance-sheet-card-description {
    color: #6B7280;
}

[data-theme="dark"] .balance-sheet-total.actif-total {
    color: #60A5FA;
}

[data-theme="dark"] .passif-card-header-container .balance-sheet-total {
    color: #34D399;
}

[data-theme="dark"] .balance-sheet-section {
    border-color: #374151;
}

[data-theme="dark"] .balance-sheet-section-title {
    color: #9CA3AF;
}

[data-theme="dark"] .balance-sheet-section-total {
    color: #60A5FA;
}

[data-theme="dark"] .passif-card .balance-sheet-section-total {
    color: #34D399;
}

[data-theme="dark"] .balance-sheet-items {
    border-left-color: #1E3A5F;
}

[data-theme="dark"] .passif-card .balance-sheet-items {
    border-left-color: #065F46;
}

[data-theme="dark"] .balance-sheet-item-label {
    color: #9CA3AF;
}

/* Toggle Switch */
[data-theme="dark"] .toggle-slider {
    background-color: #374151;
}

/* ═══════════════════════════════════════════════════
   BUSINESS PLAN
   ═══════════════════════════════════════════════════ */

/* Loader */
[data-theme="dark"] .bp-generation-loader {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .bp-generation-loader .simple-loader-title {
    color: #F3F4F6;
}

[data-theme="dark"] .bp-loader-progress-bar {
    background: #374151;
    border-color: #4B5563;
}

[data-theme="dark"] .bp-loader-percentage {
    color: #60A5FA;
}

/* Form - Radio Buttons */
[data-theme="dark"] .business-plan-radio-option {
    border-color: #374151;
}

[data-theme="dark"] .business-plan-radio-title {
    color: #E5E7EB;
}

[data-theme="dark"] .business-plan-radio-description {
    color: #9CA3AF;
}

[data-theme="dark"] .business-plan-radio-option:has(input:checked) {
    background: rgba(96, 165, 250, 0.1);
    border-color: #2563EB;
}

/* Form - Checkboxes */
[data-theme="dark"] .business-plan-checkbox-option {
    background-color: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .business-plan-checkbox-option:hover {
    background-color: rgba(96, 165, 250, 0.1);
    border-color: #2563EB;
}

[data-theme="dark"] .business-plan-checkbox-option:has(input:checked) {
    background-color: rgba(96, 165, 250, 0.1);
    border-color: #2563EB;
}

[data-theme="dark"] .business-plan-checkbox-label {
    color: #E5E7EB;
}

/* Form - Inputs & Textareas */
[data-theme="dark"] .business-plan-input,
[data-theme="dark"] .business-plan-textarea,
[data-theme="dark"] .business-plan-select {
    background: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .business-plan-input:focus,
[data-theme="dark"] .business-plan-textarea:focus,
[data-theme="dark"] .business-plan-select:focus {
    border-color: #60A5FA;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.15);
}

[data-theme="dark"] .business-plan-field-label,
[data-theme="dark"] .business-plan-field-label span {
    color: #D1D5DB;
}

/* Form - Navigation */
[data-theme="dark"] .business-plan-nav-block {
    border-top-color: #374151;
}

[data-theme="dark"] .business-plan-nav-button.business-plan-nav-button-previous {
    background: #1F2937;
    border-color: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .business-plan-nav-button.business-plan-nav-button-previous:hover {
    background: #374151;
    color: #E5E7EB;
}

/* Form - Add Member Button */
[data-theme="dark"] .business-plan-add-member-button {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .business-plan-add-member-button span {
    color: #60A5FA;
}

/* Form - Document Upload */
[data-theme="dark"] .business-plan-document-upload {
    background-color: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .business-plan-file-input {
    background-color: #111827;
    border-color: #374151;
}

[data-theme="dark"] .business-plan-file-item {
    background: #111827;
    border-color: #374151;
}

/* Sidebar Navigation */
[data-theme="dark"] .business-plan-sections-nav a {
    border-color: #374151;
    color: #6B7280;
}

[data-theme="dark"] .business-plan-sections-nav a:hover {
    background: rgba(96, 165, 250, 0.05);
}

[data-theme="dark"] .business-plan-sections-nav a.active {
    background: rgba(96, 165, 250, 0.1);
    border-color: #2563EB;
    color: #60A5FA;
}

[data-theme="dark"] .business-plan-section-number {
    background-color: #374151;
    color: #D1D5DB;
}

[data-theme="dark"] .business-plan-sections-nav a.active .business-plan-section-number {
    background-color: #2563EB;
    color: #FFF;
}

/* Team Member Cards */
[data-theme="dark"] .business-plan-team-member-card {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .business-plan-team-member-title {
    color: #E5E7EB;
}

/* Step Title */
[data-theme="dark"] .business-plan-step-title {
    color: #F3F4F6;
}

/* BP Document Pages */
[data-theme="dark"] .bp-page {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .bp-page h1 {
    color: #F3F4F6;
}

[data-theme="dark"] .bp-text-bloc h2 {
    color: #60A5FA;
}

[data-theme="dark"] .bp-text-bloc p,
[data-theme="dark"] .bp-text-bloc p span,
[data-theme="dark"] .bp-text-bloc ul li {
    color: #D1D5DB;
}

[data-theme="dark"] .ordonned-list li {
    color: #D1D5DB;
    border-bottom-color: #374151;
}

[data-theme="dark"] .verdict {
    background: rgba(89, 178, 36, 0.12);
}

[data-theme="dark"] .verdict p {
    color: #D1D5DB;
}

/* Cover Page Color Picker */
[data-theme="dark"] .bp-cover-color-picker {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .bp-cover-color-picker h3 {
    color: #E5E7EB;
}

[data-theme="dark"] .bp-cover-color-option:hover {
    border-color: #6B7280;
}

/* Disclaimer & Info */
[data-theme="dark"] .bp-disclaimer {
    background: rgba(96, 165, 250, 0.1);
}

[data-theme="dark"] .bp-disclaimer h2,
[data-theme="dark"] .bp-disclaimer p {
    color: #60A5FA;
}

[data-theme="dark"] .bp-contact-info {
    background: rgba(96, 165, 250, 0.1);
    border-color: #374151;
}

[data-theme="dark"] .bp-swot-disclaimer {
    background: #111827;
    color: #6B7280;
}

/* Resume Cards */
[data-theme="dark"] .resume-cards .card {
    border-color: #374151;
}

[data-theme="dark"] .resume-cards .card h2 {
    color: #9CA3AF;
}

[data-theme="dark"] .resume-cards .card span {
    color: #6B7280;
}

[data-theme="dark"] h2.subtitle {
    color: #E5E7EB;
}

/* Competitive Chart */
[data-theme="dark"] .bp-competitive-chart-wrapper {
    background: #111827;
    border-color: #374151;
}

[data-theme="dark"] .bp-bar-groups {
    border-bottom-color: #374151;
}

[data-theme="dark"] .bp-bar-label {
    color: #6B7280;
}

[data-theme="dark"] .bp-legend-item {
    color: #9CA3AF;
}

/* Pie Chart */
[data-theme="dark"] .bp-pie-hole {
    background: #1F2937;
}

[data-theme="dark"] .bp-pie-legend-label,
[data-theme="dark"] .bp-pie-legend-value {
    color: #9CA3AF;
}

/* Horizontal Bar Chart */
[data-theme="dark"] .bp-hbar-label {
    color: #D1D5DB;
}

[data-theme="dark"] .bp-hbar-track {
    background: #374151;
}

[data-theme="dark"] .bp-hbar-value {
    color: #60A5FA;
}

/* Gantt Chart */
[data-theme="dark"] .bp-gantt-header {
    border-bottom-color: #374151;
}

[data-theme="dark"] .bp-gantt-task-label {
    color: #D1D5DB;
}

[data-theme="dark"] .bp-gantt-header .bp-gantt-months span {
    color: #6B7280;
}

[data-theme="dark"] .bp-gantt-row {
    border-bottom-color: #374151;
}

[data-theme="dark"] .bp-gantt-bar-2 .bp-gantt-bar-dates,
[data-theme="dark"] .bp-gantt-bar-3 .bp-gantt-bar-dates {
    color: #D1D5DB;
}

/* Line Chart */
[data-theme="dark"] .bp-line-chart-y-axis span,
[data-theme="dark"] .bp-line-chart-x-axis span {
    color: #6B7280;
}

[data-theme="dark"] .bp-line-chart-grid-line {
    background: #374151;
}

[data-theme="dark"] .bp-line-chart-zero {
    background: #4B5563;
}

[data-theme="dark"] .bp-line-dot span {
    color: #D1D5DB;
}

[data-theme="dark"] .bp-line-legend-item span {
    color: #9CA3AF;
}

/* BP Tables */
[data-theme="dark"] .bp-table thead th {
    background: #1a2332;
    border-color: #374151;
    color: #6B7280;
}

[data-theme="dark"] .bp-table tbody td {
    border-color: #374151;
    color: #D1D5DB;
}

[data-theme="dark"] .bp-table-title {
    background: #1a2332;
    border-color: #374151;
    color: #6B7280;
}

[data-theme="dark"] .bp-table table tr td {
    color: #9CA3AF;
}

[data-theme="dark"] .bp-table {
    border-bottom-color: #374151;
}

/* Team & Equipment */
[data-theme="dark"] .bp-team {
    border-color: #374151;
}

[data-theme="dark"] .bp-team-infos {
    border-right-color: #374151;
}

[data-theme="dark"] .bp-team-infos h1 {
    color: #F3F4F6;
}

[data-theme="dark"] .bp-team-infos span {
    color: #9CA3AF;
}

[data-theme="dark"] .bp-team p {
    color: #D1D5DB;
}

[data-theme="dark"] .bp-equipe {
    background: #111827;
    border-color: #374151;
}

[data-theme="dark"] .bp-equipe p {
    color: #D1D5DB;
}

[data-theme="dark"] .bp-ekip-header h4 {
    color: #E5E7EB;
}

[data-theme="dark"] .bp-ekip-header span {
    color: #9CA3AF;
}

/* Market Segments */
[data-theme="dark"] .bp-empty-content {
    color: #6B7280;
}

[data-theme="dark"] .bp-seg h2 {
    color: #9CA3AF;
}

[data-theme="dark"] .bp-seg p {
    color: #6B7280;
}

/* Photo Upload */
[data-theme="dark"] .bp-member-photo-upload {
    border-color: #374151;
}

[data-theme="dark"] .bp-member-photo-placeholder,
[data-theme="dark"] .bp-member-photo-placeholder svg {
    color: #6B7280;
}

[data-theme="dark"] .bp-modal-image-upload {
    background: #111827;
    border-color: #374151;
}

[data-theme="dark"] .bp-modal-image-placeholder,
[data-theme="dark"] .bp-modal-image-placeholder svg {
    color: #6B7280;
}

[data-theme="dark"] .bp-modal-image-placeholder span {
    color: #6B7280;
}

/* Products */
[data-theme="dark"] .bp-product-text h3 {
    color: #E5E7EB;
}

[data-theme="dark"] .bp-product-text span {
    color: #9CA3AF;
}

/* Edit & Delete Buttons */
[data-theme="dark"] .bp-edit-metric-btn {
    border-color: #374151;
    color: #6B7280;
}

[data-theme="dark"] .bp-edit-metric-btn:hover {
    background-color: #374151;
    border-color: #60A5FA;
    color: #60A5FA;
}

[data-theme="dark"] .bp-delete-btn,
[data-theme="dark"] .bp-delete-item-btn {
    border-color: #374151;
    color: #6B7280;
}

[data-theme="dark"] .bp-delete-btn:hover,
[data-theme="dark"] .bp-delete-item-btn:hover {
    background-color: rgba(220, 53, 69, 0.1);
    border-color: #DC3545;
    color: #F87171;
}

/* Add Buttons */
[data-theme="dark"] .bp-add-btn,
[data-theme="dark"] .bp-add-list-item-btn {
    border-color: #2563EB;
    color: #60A5FA;
}

[data-theme="dark"] .bp-add-btn:hover,
[data-theme="dark"] .bp-add-list-item-btn:hover {
    background-color: rgba(96, 165, 250, 0.1);
}

/* Segment Items */
[data-theme="dark"] .bp-segment-item {
    border-bottom-color: #374151;
}

[data-theme="dark"] .bp-segment-item p {
    color: #D1D5DB;
}

/* Risk Mitigation */
[data-theme="dark"] .bp-risk-mitigation {
    background-color: rgba(34, 197, 94, 0.1);
    border-left-color: #22C55E;
    color: #86EFAC;
}

/* Footer */
[data-theme="dark"] .bp-footer {
    border-color: #374151;
    color: #6B7280;
}

/* Toast */
[data-theme="dark"] .bp-toast {
    background: #1F2937;
    color: #E5E7EB;
}

[data-theme="dark"] .bp-toast-spinner {
    border-color: #374151;
}

/* Edit Mode Hover */
[data-theme="dark"] .module-page[data-business-plan-mode-value="edit"] .editable-text:hover:not(.editing) {
    background-color: #374151;
}

[data-theme="dark"] .module-page[data-business-plan-mode-value="edit"] .bp-section-title:hover:not(.editing) {
    background-color: #374151;
}

/* Modules Checklist */
[data-theme="dark"] .bp-module-check-item {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .bp-module-check-name {
    color: #E5E7EB;
}

[data-theme="dark"] .bp-module-check-desc {
    color: #6B7280;
}

[data-theme="dark"] .bp-modules-summary.all-done {
    background: #1F2937;
    border-color: #374151;
    color: #34D399;
}

[data-theme="dark"] .bp-modules-summary.some-missing {
    background: #1F2937;
    border-color: #374151;
    color: #FBBF24;
}

/* Annexes */
[data-theme="dark"] .bp-annexe-module {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .bp-annexe-module-name {
    color: #E5E7EB;
}

[data-theme="dark"] .bp-annexe-module-desc {
    color: #6B7280;
}

[data-theme="dark"] .bp-annexe-badge--done {
    background: rgba(34, 197, 94, 0.15);
    color: #34D399;
}

[data-theme="dark"] .bp-annexe-badge--pending {
    background: rgba(251, 191, 36, 0.15);
    color: #FBBF24;
}

[data-theme="dark"] .bp-annexe-doc {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .bp-annexe-doc-name {
    color: #E5E7EB;
}

[data-theme="dark"] .bp-annexe-doc-desc {
    color: #6B7280;
}

[data-theme="dark"] .bp-annexe-file-link {
    color: #60A5FA;
}

[data-theme="dark"] .bp-annexe-file-preview {
    background: #111827;
    color: #9CA3AF;
}

/* TAM/SAM/SOM */
[data-theme="dark"] .tamsamsom .tam {
    background-color: #1E3A5F;
    border-color: #374151;
}

[data-theme="dark"] .tamsamsom .sam {
    background-color: #374151;
}

[data-theme="dark"] .tamsamsom .som {
    background-color: #1F2937;
}

/* ═══════════════════════════════════════════════════
   ETUDE DE MARCHE
   ═══════════════════════════════════════════════════ */

/* Mode toggle */
[data-theme="dark"] .mode-toggle-group {
    border-color: #374151;
    background: #1F2937;
}

[data-theme="dark"] .mode-toggle-group button {
    color: #9CA3AF;
}

[data-theme="dark"] .header-mode-button.active {
    background: #2563EB;
}

/* Sidebar */
[data-theme="dark"] .etude-marche-sidebar {
    border-right-color: #374151;
}

[data-theme="dark"] .etude-sections-nav a {
    border-color: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .etude-sections-nav a span {
    color: #9CA3AF;
}

[data-theme="dark"] .section-nav-item.active {
    border-color: #60A5FA;
    background: rgba(96, 165, 250, 0.08);
    color: #60A5FA;
}

[data-theme="dark"] .section-nav-item.active span {
    color: #60A5FA;
}

/* Sections */
[data-theme="dark"] .etude-section {
    border-color: #374151;
    background: #1F2937;
}

[data-theme="dark"] .etude-section-title {
    border-color: #374151;
    background: linear-gradient(180deg, #374151 0%, #1F2937 100%);
}

[data-theme="dark"] .etude-section-title h2 {
    color: #F3F4F6;
}

/* Text blocks */
[data-theme="dark"] .text-block h3 {
    color: #6B7280;
}

[data-theme="dark"] .editable-text {
    color: #D1D5DB;
}

[data-theme="dark"] .editable-text:hover:not(.editing) {
    background: #374151;
}

[data-theme="dark"] .editable-textarea {
    background: #111827;
    border-color: #60A5FA;
    color: #E5E7EB;
}

/* Metrics */
[data-theme="dark"] .metric-card {
    background-color: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .metric-label {
    color: #9CA3AF;
}

[data-theme="dark"] .metric-source {
    color: #6B7280;
}

[data-theme="dark"] .metric-edit-btn {
    color: #6B7280;
}

[data-theme="dark"] .metric-edit-btn:hover {
    background: #374151;
    color: #60A5FA;
}

[data-theme="dark"] .metric-modal {
    background: #1F2937;
    border-bottom-color: #374151;
}

[data-theme="dark"] .metric-modal-header h3 {
    color: #F3F4F6;
}

[data-theme="dark"] .metric-modal-close {
    color: #6B7280;
}

[data-theme="dark"] .metric-modal-close:hover {
    color: #E5E7EB;
    background: #374151;
}

[data-theme="dark"] .metric-form-group label {
    color: #D1D5DB;
}

[data-theme="dark"] .metric-form-input {
    border-color: #374151;
    color: #E5E7EB;
    background: #111827;
}

[data-theme="dark"] .metric-form-input:focus {
    border-color: #60A5FA;
}

[data-theme="dark"] .metric-modal-cancel {
    background: #1F2937;
    border-color: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .metric-modal-cancel:hover {
    background: #374151;
}

[data-theme="dark"] .metric-modal-save {
    background: #2563EB;
}

[data-theme="dark"] .metric-modal-save:hover {
    background: #3B82F6;
}

/* Generate card */
[data-theme="dark"] .etude-marche-ai-card-content {
    background: #1F2937;
}

[data-theme="dark"] .sommaire {
    background: #111827;
}

[data-theme="dark"] .deep-research-card {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .deep-research-card-number {
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .deep-research-card-content h4 {
    color: #F3F4F6;
}

[data-theme="dark"] .deep-research-card-content p {
    color: #9CA3AF;
}

/* Loader */
[data-theme="dark"] .loader-progress-bar {
    border-color: #374151;
    background: #374151;
}

[data-theme="dark"] .loader-text {
    color: #9CA3AF;
}

/* Sizing cards */
[data-theme="dark"] .section-intro-box {
    border-color: #374151;
}

[data-theme="dark"] .sizing-card {
    border-color: #374151;
    background: #1F2937;
}

[data-theme="dark"] .sizing-label {
    color: #6B7280;
}

[data-theme="dark"] .sizing-description {
    color: #9CA3AF;
}

[data-theme="dark"] .sizing-method {
    background: #111827;
    color: #D1D5DB;
}

[data-theme="dark"] .sizing-method h2 {
    color: #D1D5DB;
}

[data-theme="dark"] .sizing-method p {
    color: #9CA3AF;
}

[data-theme="dark"] .edit-sizing-button {
    border-color: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .edit-sizing-button:hover {
    border-color: #60A5FA;
    color: #60A5FA;
}

/* Sizing modal */
[data-theme="dark"] .sizing-modal-content {
    background: #1F2937;
}

[data-theme="dark"] .sizing-modal-header {
    border-color: #374151;
}

[data-theme="dark"] .sizing-modal-title {
    color: #F3F4F6;
}

[data-theme="dark"] .sizing-modal-close {
    color: #6B7280;
}

[data-theme="dark"] .sizing-modal-close:hover {
    background: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .sizing-form-group label {
    color: #D1D5DB;
}

[data-theme="dark"] .sizing-form-input,
[data-theme="dark"] .sizing-form-textarea {
    border-color: #374151;
    color: #E5E7EB;
    background: #111827;
}

[data-theme="dark"] .sizing-form-input:focus,
[data-theme="dark"] .sizing-form-textarea:focus {
    border-color: #60A5FA;
}

[data-theme="dark"] .sizing-modal-cancel {
    background: #111827;
    color: #9CA3AF;
}

[data-theme="dark"] .sizing-modal-cancel:hover {
    background: #374151;
}

[data-theme="dark"] .sizing-modal-save {
    background: #2563EB;
}

[data-theme="dark"] .sizing-modal-save:hover {
    background: #3B82F6;
}

/* SWOT */
[data-theme="dark"] .swot-column {
    border-color: #374151;
}

[data-theme="dark"] .strengths-column {
    background: rgba(89, 178, 36, 0.06);
}

[data-theme="dark"] .opportunities-column {
    background: rgba(252, 18, 27, 0.04);
}

[data-theme="dark"] .weaknesses-column {
    background: rgba(96, 165, 250, 0.06);
}

[data-theme="dark"] .threats-column {
    background: rgba(255, 153, 1, 0.06);
}

[data-theme="dark"] .swot-item,
[data-theme="dark"] .swot-item span {
    color: #D1D5DB;
}

[data-theme="dark"] .edit-swot-button,
[data-theme="dark"] .delete-swot-button {
    border-color: #374151 !important;
    background-color: #1F2937 !important;
    color: #9CA3AF !important;
}

[data-theme="dark"] .edit-swot-button:hover,
[data-theme="dark"] .delete-swot-button:hover {
    background: #374151;
    color: #E5E7EB;
    background-color: #374151 !important;
}



/* SWOT modal */
[data-theme="dark"] .swot-modal-content {
    background: #1F2937;
}

[data-theme="dark"] .swot-modal-header {
    border-color: #374151;
}

[data-theme="dark"] .swot-modal-header h3 {
    color: #F3F4F6;
}

[data-theme="dark"] .swot-modal-close {
    color: #6B7280;
}

[data-theme="dark"] .swot-modal-close:hover {
    background: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .swot-form-group label {
    color: #D1D5DB;
}

[data-theme="dark"] .swot-form-textarea {
    border-color: #374151;
    color: #E5E7EB;
    background: #111827;
}

[data-theme="dark"] .swot-form-textarea:focus {
    border-color: #60A5FA;
}

[data-theme="dark"] .swot-modal-cancel {
    background: #111827;
    color: #9CA3AF;
}

[data-theme="dark"] .swot-modal-cancel:hover {
    background: #374151;
}

[data-theme="dark"] .swot-modal-save {
    background: #2563EB;
}

[data-theme="dark"] .swot-modal-save:hover {
    background: #3B82F6;
}

/* Competitors */
[data-theme="dark"] .competitors-section {
    border-color: #374151;
    background: #1F2937;
}

[data-theme="dark"] .competitors-header {
    border-bottom-color: #374151;
    background: #111827;
}

[data-theme="dark"] .competitors-header h3 {
    color: #9CA3AF;
}

[data-theme="dark"] .competitor-item {
    border-bottom-color: #374151;
}

[data-theme="dark"] .competitor-main h4 {
    color: #F3F4F6;
}

[data-theme="dark"] .competitor-description {
    color: #9CA3AF;
}

[data-theme="dark"] .pro-tag {
    border-color: rgba(34, 197, 94, 0.3);
    background: rgba(34, 197, 94, 0.1);
    color: #34D399;
}

[data-theme="dark"] .con-tag {
    border-color: rgba(239, 68, 68, 0.3);
    background: rgba(239, 68, 68, 0.1);
    color: #F87171;
}

[data-theme="dark"] .competitor-level {
    color: #9CA3AF;
}

[data-theme="dark"] .add-competitor-button {
    background: #1F2937;
    border-color: #374151;
    color: #D1D5DB;
}

[data-theme="dark"] .add-competitor-button:hover {
    background: #374151;
}

[data-theme="dark"] .edit-competitor-button,
[data-theme="dark"] .delete-competitor-button {
    border-color: #374151;
    background-color: #1F2937;
    color: #9CA3AF;
}

[data-theme="dark"] .edit-competitor-button:hover,
[data-theme="dark"] .delete-competitor-button:hover {
    background: #374151;
    color: #E5E7EB;
}

/* Competitor modal */
[data-theme="dark"] .competitor-modal-content {
    background: #1F2937;
}

[data-theme="dark"] .competitor-modal-header {
    border-color: #374151;
}

[data-theme="dark"] .competitor-modal-header h3 {
    color: #F3F4F6;
}

[data-theme="dark"] .competitor-modal-close {
    color: #6B7280;
}

[data-theme="dark"] .competitor-modal-close:hover {
    background: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .competitor-form-group label {
    color: #D1D5DB;
}

[data-theme="dark"] .competitor-form-input {
    border-color: #374151;
    color: #E5E7EB;
    background: #111827;
}

[data-theme="dark"] .competitor-form-input:focus {
    border-color: #60A5FA;
}

[data-theme="dark"] .competitor-modal-cancel {
    background: #111827;
    color: #9CA3AF;
}

[data-theme="dark"] .competitor-modal-cancel:hover {
    background: #374151;
}

[data-theme="dark"] .competitor-modal-save {
    background: #2563EB;
}

[data-theme="dark"] .competitor-modal-save:hover {
    background: #3B82F6;
}

/* Segmentation */
[data-theme="dark"] .cartography-section {
    border-color: #374151;
    background: #111827;
}

[data-theme="dark"] .cartography-section h3 {
    color: #6B7280;
}

[data-theme="dark"] .edit-segment-button,
[data-theme="dark"] .delete-segment-button {
    border-color: #374151;
    background: rgba(31, 41, 55, 0.9);
    color: #9CA3AF;
}

[data-theme="dark"] .edit-segment-button:hover,
[data-theme="dark"] .delete-segment-button:hover {
    background: #374151;
    color: #E5E7EB;
}

/* Segment modal */
[data-theme="dark"] .segment-modal-content {
    background: #1F2937;
}

[data-theme="dark"] .segment-modal-header {
    border-color: #374151;
}

[data-theme="dark"] .segment-modal-header h3 {
    color: #F3F4F6;
}

[data-theme="dark"] .segment-modal-close {
    color: #6B7280;
}

[data-theme="dark"] .segment-modal-close:hover {
    background: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .segment-form-group label {
    color: #D1D5DB;
}

[data-theme="dark"] .segment-form-input,
[data-theme="dark"] .segment-form-textarea {
    border-color: #374151;
    color: #E5E7EB;
    background: #111827;
}

[data-theme="dark"] .segment-form-input:focus,
[data-theme="dark"] .segment-form-textarea:focus {
    border-color: #60A5FA;
}

[data-theme="dark"] .segment-modal-cancel {
    background: #111827;
    color: #9CA3AF;
}

[data-theme="dark"] .segment-modal-cancel:hover {
    background: #374151;
}

[data-theme="dark"] .segment-modal-save {
    background: #2563EB;
}

[data-theme="dark"] .segment-modal-save:hover {
    background: #3B82F6;
}

/* Economic model & distribution */
[data-theme="dark"] .revenue-card h3 {
    color: #34D399;
}

[data-theme="dark"] .cost-card h3 {
    color: #F87171;
}

[data-theme="dark"] .model-list li {
    border-color: #374151;
}

[data-theme="dark"] .model-item-label {
    color: #E5E7EB;
}

[data-theme="dark"] .model-item-description {
    color: #9CA3AF;
}

[data-theme="dark"] .model-progress {
    border-color: #374151;
    background: #374151;
}

[data-theme="dark"] .break-even-card {
    border-color: #374151;
    background: linear-gradient(180deg, #374151 0%, #1F2937 100%);
}

[data-theme="dark"] .break-even-card h3 {
    color: #9CA3AF;
}

[data-theme="dark"] .break-even-subvalue {
    color: #60A5FA;
}

[data-theme="dark"] .distribution-card {
    border-color: #374151;
    background: #1F2937;
}

[data-theme="dark"] .distribution-card h3 {
    color: #F3F4F6;
}

[data-theme="dark"] .distribution-description {
    color: #9CA3AF;
}

/* Distribution actions */
[data-theme="dark"] .edit-distribution-button,
[data-theme="dark"] .delete-distribution-button {
    border-color: #374151;
    background-color: rgba(31, 41, 55, 0.9);
    color: #9CA3AF;
}

[data-theme="dark"] .edit-distribution-button:hover,
[data-theme="dark"] .delete-distribution-button:hover {
    background-color: #374151;
    color: #E5E7EB;
}

/* Distribution modal */
[data-theme="dark"] .distribution-modal-content {
    background: #1F2937;
}

[data-theme="dark"] .distribution-modal-header {
    border-color: #374151;
}

[data-theme="dark"] .distribution-modal-header h3 {
    color: #F3F4F6;
}

[data-theme="dark"] .distribution-modal-close {
    color: #6B7280;
}

[data-theme="dark"] .distribution-modal-close:hover {
    background: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .distribution-form-group label {
    color: #D1D5DB;
}

[data-theme="dark"] .distribution-form-input,
[data-theme="dark"] .distribution-form-textarea {
    border-color: #374151;
    color: #E5E7EB;
    background: #111827;
}

[data-theme="dark"] .distribution-form-input:focus,
[data-theme="dark"] .distribution-form-textarea:focus {
    border-color: #60A5FA;
}

[data-theme="dark"] .distribution-modal-cancel {
    background: #111827;
    color: #9CA3AF;
}

[data-theme="dark"] .distribution-modal-cancel:hover {
    background: #374151;
}

[data-theme="dark"] .distribution-modal-save {
    background: #2563EB;
}

[data-theme="dark"] .distribution-modal-save:hover {
    background: #3B82F6;
}

/* Quotes & Insights */
[data-theme="dark"] .quote-block {
    background: #111827;
}

[data-theme="dark"] blockquote {
    color: #E5E7EB;
}

[data-theme="dark"] .quote-tags h3 {
    color: #E5E7EB;
}

[data-theme="dark"] .quote-tags p {
    color: #9CA3AF;
}

[data-theme="dark"] .quote-source {
    color: #60A5FA;
}

[data-theme="dark"] .quote-source span {
    color: #9CA3AF;
}

[data-theme="dark"] .quote-source-link {
    color: #60A5FA;
}

[data-theme="dark"] .edit-insight-button,
[data-theme="dark"] .delete-insight-button {
    border-color: #374151;
    background: rgba(31, 41, 55, 0.9);
    color: #9CA3AF;
}

[data-theme="dark"] .edit-insight-button:hover,
[data-theme="dark"] .delete-insight-button:hover {
    background: #374151;
    color: #E5E7EB;
}

/* Insight modal */
[data-theme="dark"] .insight-modal-content {
    background: #1F2937;
}

[data-theme="dark"] .insight-modal-header {
    border-color: #374151;
}

[data-theme="dark"] .insight-modal-header h3 {
    color: #F3F4F6;
}

[data-theme="dark"] .insight-modal-close {
    color: #6B7280;
}

[data-theme="dark"] .insight-modal-close:hover {
    background: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .insight-form-group label {
    color: #D1D5DB;
}

[data-theme="dark"] .insight-form-input,
[data-theme="dark"] .insight-form-textarea {
    border-color: #374151;
    color: #E5E7EB;
    background: #111827;
}

[data-theme="dark"] .insight-form-input:focus,
[data-theme="dark"] .insight-form-textarea:focus {
    border-color: #60A5FA;
}

[data-theme="dark"] .insight-modal-cancel {
    background: #111827;
    color: #9CA3AF;
}

[data-theme="dark"] .insight-modal-cancel:hover {
    background: #374151;
}

[data-theme="dark"] .insight-modal-save {
    background: #2563EB;
}

[data-theme="dark"] .insight-modal-save:hover {
    background: #3B82F6;
}

/* Hypotheses */
[data-theme="dark"] .hypotheses-list h1 {
    color: #9CA3AF;
}

[data-theme="dark"] .hypothese {
    border-color: #374151;
    background: #1F2937;
}

[data-theme="dark"] .hypo-content h2 {
    color: #F3F4F6;
}

[data-theme="dark"] .hypo-tag {
    background: #374151;
    color: #D1D5DB;
}

[data-theme="dark"] .hypo-statut-select {
    border-color: #374151;
}

[data-theme="dark"] .hypo-statut--a-tester {
    background: rgba(107, 114, 128, 0.1);
    color: #9CA3AF;
    border-color: #4B5563;
}

[data-theme="dark"] .hypo-statut--en-cours-de-test {
    background: rgba(194, 65, 12, 0.1);
    color: #FB923C;
    border-color: rgba(251, 146, 60, 0.3);
}

[data-theme="dark"] .hypo-statut--testee-et-validee {
    background: rgba(21, 128, 61, 0.1);
    color: #34D399;
    border-color: rgba(52, 211, 153, 0.3);
}

[data-theme="dark"] .hypo-statut--testee-et-invalidee {
    background: rgba(185, 28, 28, 0.1);
    color: #F87171;
    border-color: rgba(248, 113, 113, 0.3);
}

[data-theme="dark"] .edit-hypothesis-button,
[data-theme="dark"] .delete-hypothesis-button {
    border-color: #374151;
    background: rgba(31, 41, 55, 0.9);
    color: #9CA3AF;
}

[data-theme="dark"] .edit-hypothesis-button:hover,
[data-theme="dark"] .delete-hypothesis-button:hover {
    background: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .hypo-metrics .card {
    border-color: #374151;
    background: linear-gradient(180deg, #374151 0%, #1F2937 100%);
}

[data-theme="dark"] .hypo-metrics .card span {
    color: #60A5FA;
}

/* Hypothesis modal */
[data-theme="dark"] .hypothesis-modal-content {
    background: #1F2937;
}

[data-theme="dark"] .hypothesis-modal-header {
    border-color: #374151;
}

[data-theme="dark"] .hypothesis-modal-header h3 {
    color: #F3F4F6;
}

[data-theme="dark"] .hypothesis-modal-close {
    color: #6B7280;
}

[data-theme="dark"] .hypothesis-modal-close:hover {
    background: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .hypothesis-form-group label {
    color: #D1D5DB;
}

[data-theme="dark"] .hypothesis-form-input,
[data-theme="dark"] .hypothesis-form-textarea {
    border-color: #374151;
    color: #E5E7EB;
    background: #111827;
}

[data-theme="dark"] .hypothesis-form-input:focus,
[data-theme="dark"] .hypothesis-form-textarea:focus {
    border-color: #60A5FA;
}

[data-theme="dark"] .hypothesis-modal-cancel {
    background: #111827;
    color: #9CA3AF;
}

[data-theme="dark"] .hypothesis-modal-cancel:hover {
    background: #374151;
}

[data-theme="dark"] .hypothesis-modal-save {
    background: #2563EB;
}

[data-theme="dark"] .hypothesis-modal-save:hover {
    background: #3B82F6;
}

/* Sources */
[data-theme="dark"] .sources-description {
    color: #9CA3AF;
}

[data-theme="dark"] .source-item {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .source-item:hover {
    border-color: #60A5FA;
    background: #263244;
}

[data-theme="dark"] .source-index {
    background: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .source-link {
    color: #60A5FA;
}

[data-theme="dark"] .source-link svg {
    color: #6B7280;
}

[data-theme="dark"] .sources-empty {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .sources-empty p {
    color: #6B7280;
}

[data-theme="dark"] .sources-ia-badges {
    border-top-color: #374151;
}

[data-theme="dark"] .sources-ia-label {
    color: #9CA3AF;
}

[data-theme="dark"] .source-badge {
    background: #374151;
    color: #D1D5DB;
}

/* Action buttons */
[data-theme="dark"] .action-button {
    border-color: #374151;
    background: #1F2937;
    color: #E5E7EB;
}

[data-theme="dark"] .action-button:hover {
    background: #374151;
    border-color: #4B5563;
}

[data-theme="dark"] .action-button.primary {
    background: #2563EB;
    color: #FFF;
    border-color: #2563EB;
}

[data-theme="dark"] .action-button.primary:hover {
    background: #3B82F6;
}

/* Export modal */
[data-theme="dark"] .bp-export-modal {
    background: #1F2937;
}

[data-theme="dark"] .bp-export-modal h2 {
    color: #F3F4F6;
}

[data-theme="dark"] .bp-export-modal p {
    color: #9CA3AF;
}

[data-theme="dark"] .bp-export-step {
    color: #6B7280;
}

/* Export dropdown */
[data-theme="dark"] .export-dropdown-menu {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .export-dropdown-item {
    color: #E5E7EB;
}

[data-theme="dark"] .export-dropdown-item:hover {
    background: #374151;
}

/* ═══════════════════════════════════════════════════
   DISCUSSIONS PAGE
   ═══════════════════════════════════════════════════ */

[data-theme="dark"] .discussions-page-header {
    background: #1F2937;
    border-bottom-color: #374151;
}

[data-theme="dark"] .discussions-page-header-left a {
    color: #60A5FA;
}

[data-theme="dark"] .discussions-count {
    color: #F3F4F6;
}

[data-theme="dark"] .discussions-new-btn {
    background: #60A5FA;
}

[data-theme="dark"] .discussions-new-btn:hover {
    background: #3B82F6;
}

[data-theme="dark"] .chat-sessions-search .search-form {
    background: #111827;
    border-color: #374151;
}

[data-theme="dark"] .search-filters-container .search-bar {
    background: #1F2937;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .discussions-list a {
    background: #1F2937;
    border-color: #374151;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .discussions-list a:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .discussions-empty-title {
    color: #F3F4F6;
}

[data-theme="dark"] .discussions-empty-description {
    color: #9CA3AF;
}

[data-theme="dark"] .discussions-empty-icon svg rect,
[data-theme="dark"] .discussions-empty-icon svg circle {
    stroke: #4B5563;
}

[data-theme="dark"] .discussions-empty-icon svg circle {
    fill: #4B5563;
}

[data-theme="dark"] .discussions-empty-cta {
    background: #60A5FA;
}

[data-theme="dark"] .discussions-empty-cta:hover {
    background: #3B82F6;
}

[data-theme="dark"] .discussion-title {
    color: #F3F4F6;
}

[data-theme="dark"] .discussion-description {
    color: #9CA3AF;
}

[data-theme="dark"] .discussion-tag {
    background: #374151;
    border-color: #4B5563;
    color: #9CA3AF;
}

[data-theme="dark"] .discussion-info,
[data-theme="dark"] .message-count,
[data-theme="dark"] .discussion-date {
    color: #6B7280;
}

[data-theme="dark"] .status-tabs {
    background: #1F2937;
}

[data-theme="dark"] .status-tab {
    color: #9CA3AF;
}

[data-theme="dark"] .status-tab:hover,
[data-theme="dark"] .status-tab.active {
    background: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .chat-content {
    background: linear-gradient(180deg, #1F2937 -3.26%, #111827 38.49%);
    border-color: #374151;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* ═══════════════════════════════════════════════════
   CREDITS PAGE
   ═══════════════════════════════════════════════════ */

[data-theme="dark"] .credits-page-header {
    background: #1F2937;
    border-bottom-color: #374151;
}

[data-theme="dark"] .credits-page-title {
    color: #F3F4F6;
}

[data-theme="dark"] .credits-page-title i {
    color: #60A5FA;
}

[data-theme="dark"] .credits-tabs {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .credits-tab {
    color: #9CA3AF;
}

[data-theme="dark"] .credits-tab:hover {
    color: #E5E7EB;
    background: #374151;
}

[data-theme="dark"] .credits-tab.active {
    background: #60A5FA;
    color: #FFF;
}

[data-theme="dark"] .credits-filter-btn {
    background: #1F2937;
    border-color: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .credits-filter-btn:hover {
    border-color: #60A5FA;
    color: #60A5FA;
}

[data-theme="dark"] .credits-filter-btn.active {
    background: #60A5FA;
    border-color: #60A5FA;
    color: #FFF;
}

[data-theme="dark"] .credits-transaction-item {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .credits-transaction-title {
    color: #F3F4F6;
}

[data-theme="dark"] .credits-transaction-meta {
    color: #9CA3AF;
}

[data-theme="dark"] .credits-pack-card {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .credits-pack-card:hover {
    border-color: #60A5FA;
}

[data-theme="dark"] .credits-pack-card.selected {
    background: rgba(96, 165, 250, 0.08);
    border-color: #60A5FA;
}

[data-theme="dark"] .credits-pack-name {
    color: #F3F4F6;
}

[data-theme="dark"] .credits-pack-price {
    color: #9CA3AF;
}

[data-theme="dark"] .credits-buy-mode-selector {
    background: #111827;
}

[data-theme="dark"] .credits-buy-mode-btn {
    color: #9CA3AF;
}

[data-theme="dark"] .credits-buy-mode-btn.active {
    background: #1F2937;
    color: #60A5FA;
}

[data-theme="dark"] .credits-custom-card {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .credits-custom-title {
    color: #F3F4F6;
}

[data-theme="dark"] .credits-custom-subtitle {
    color: #9CA3AF;
}

[data-theme="dark"] .credits-custom-step-btn {
    background: #111827;
    border-color: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .credits-custom-step-btn:hover {
    background: rgba(96, 165, 250, 0.08);
    border-color: #60A5FA;
    color: #60A5FA;
}

[data-theme="dark"] .credits-custom-input {
    background: #111827;
    border-color: #374151;
    color: #60A5FA;
}

[data-theme="dark"] .credits-custom-preset {
    background: #111827;
    border-color: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .credits-custom-preset:hover {
    background: rgba(96, 165, 250, 0.08);
    border-color: #60A5FA;
    color: #60A5FA;
}

[data-theme="dark"] .credits-payment-summary {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .credits-payment-label {
    color: #9CA3AF;
}

[data-theme="dark"] .credits-payment-value {
    color: #F3F4F6;
}

[data-theme="dark"] .credits-referral-code-card {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .credits-referral-code-label {
    color: #9CA3AF;
}

[data-theme="dark"] .credits-referral-code-input {
    background: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .credits-referral-title {
    color: #F3F4F6;
}

[data-theme="dark"] .credits-referral-description {
    color: #9CA3AF;
}

[data-theme="dark"] .credits-referral-hint {
    color: #6B7280;
}

[data-theme="dark"] .credits-referral-stat-card {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .credits-referral-stat-value {
    color: #F3F4F6;
}

[data-theme="dark"] .credits-referral-stat-label {
    color: #9CA3AF;
}

[data-theme="dark"] .credits-empty-state {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .credits-empty-state h3 {
    color: #F3F4F6;
}

[data-theme="dark"] .credits-empty-state p {
    color: #9CA3AF;
}

[data-theme="dark"] .credits-empty-state i {
    color: #4B5563;
}

/* ═══════════════════════════════════════════════════
   NOTIFICATIONS PAGE
   ═══════════════════════════════════════════════════ */

[data-theme="dark"] .notifs-page-header {
    background: #1F2937;
    border-bottom-color: #374151;
}

[data-theme="dark"] .notifs-page-title {
    color: #F3F4F6;
}

[data-theme="dark"] .notifs-page-title i {
    color: #60A5FA;
}

[data-theme="dark"] .notifs-tabs {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .notifs-tab {
    color: #9CA3AF;
}

[data-theme="dark"] .notifs-tab:hover {
    color: #E5E7EB;
    background: #374151;
}

[data-theme="dark"] .notifs-tab.active {
    background: #60A5FA;
    color: #FFF;
}

[data-theme="dark"] .notifs-tab-count {
    background: rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .notifs-tab.active .notifs-tab-count {
    background: rgba(255, 255, 255, 0.20);
}

[data-theme="dark"] .notifs-mark-all-btn {
    background: #1F2937;
    border-color: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .notifs-mark-all-btn:hover {
    background: #374151;
    border-color: #60A5FA;
    color: #60A5FA;
}

[data-theme="dark"] .notifs-card {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .notifs-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .notifs-card.unread {
    border-color: #60A5FA;
    background: rgba(96, 165, 250, 0.08);
}

[data-theme="dark"] .notifs-card-title {
    color: #F3F4F6;
}

[data-theme="dark"] .notifs-card.unread .notifs-card-title {
    color: #60A5FA;
}

[data-theme="dark"] .notifs-card-description {
    color: #9CA3AF;
}

[data-theme="dark"] .notifs-card-time {
    color: #6B7280;
}

[data-theme="dark"] .notifs-unread-dot {
    background: #60A5FA;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.15);
}

[data-theme="dark"] .notifs-icon-success {
    background: rgba(16, 185, 129, 0.15);
    color: #34D399;
}

[data-theme="dark"] .notifs-icon-payment {
    background: rgba(96, 165, 250, 0.15);
    color: #60A5FA;
}

[data-theme="dark"] .notifs-icon-info {
    background: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .notifs-icon-warning {
    background: rgba(217, 119, 6, 0.15);
    color: #FBBF24;
}

[data-theme="dark"] .notifs-icon-danger {
    background: rgba(220, 38, 38, 0.15);
    color: #F87171;
}

[data-theme="dark"] .notifs-empty-state {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .notifs-empty-state h3 {
    color: #F3F4F6;
}

[data-theme="dark"] .notifs-empty-state p {
    color: #9CA3AF;
}

[data-theme="dark"] .notifs-empty-state i {
    color: #4B5563;
}

/* ═══════════════════════════════════════════════════
   THEME TOGGLE (Settings page)
   ═══════════════════════════════════════════════════ */
.theme-options {
    display: flex;
    gap: 10px;
    margin-top: 8px;
}

.theme-option-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: var(--Blanc, #FFF);
    color: var(--Color0, #445972);
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.theme-option-btn:hover {
    border-color: #0A58A5;
}

[data-theme="dark"] .theme-option-btn:hover {
    border-color: #60A5FA;
}

.theme-option-btn.active {
    background: #0A58A5;
    color: #FFF;
    border-color: #0A58A5;
}

[data-theme="dark"] .theme-option-btn.active {
    background: #60A5FA;
    color: #111827;
    border-color: #60A5FA;
}

.theme-option-btn i {
    font-size: 16px;
}

/* ── Login / Session Pages ── */
[data-theme="dark"] .login-container .login-content {
    background: #1F2937;
    border-color: #374151;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .login-form-title-section {
    background: linear-gradient(180deg, #1a2332 0%, #1F2937 100%);
    border-bottom-color: #374151;
}

[data-theme="dark"] .login-form-title-section h1 {
    color: #F3F4F6;
}

[data-theme="dark"] .login-form-nav {
    border-bottom-color: #374151;
}

[data-theme="dark"] .login-form-nav button {
    color: #9CA3AF;
}

[data-theme="dark"] .login-form-nav-button.active {
    color: #60A5FA;
    border-bottom-color: #60A5FA;
}

[data-theme="dark"] .form-label {
    color: #D1D5DB;
}

[data-theme="dark"] .form-input,
[data-theme="dark"] .form-textarea {
    background-color: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .form-input:focus,
[data-theme="dark"] .form-textarea:focus {
    border-color: #60A5FA;
}

[data-theme="dark"] .form-input select {
    background-color: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .password-input-wrapper {
    background: #111827;
    border-color: #374151;
}

[data-theme="dark"] .password-input-wrapper input {
    color: #E5E7EB;
}

[data-theme="dark"] .password-toggle-button i {
    color: #9CA3AF;
}

[data-theme="dark"] .phone-input-wrapper {
    background: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .phone-input-wrapper input {
    color: #E5E7EB;
}

[data-theme="dark"] .forgot-password-link {
    color: #60A5FA;
}

[data-theme="dark"] .login-submit-button {
    background: #2563EB;
}

[data-theme="dark"] .login-form-content-inner .divider {
    border-color: #374151;
}

[data-theme="dark"] .google-button,
[data-theme="dark"] .google {
    background: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .google-button:hover,
[data-theme="dark"] .google:hover {
    background: #1F2937;
    border-color: #4B5563;
}

[data-theme="dark"] .no-account-text {
    color: #9CA3AF;
}

[data-theme="dark"] .no-account-text a {
    color: #60A5FA;
}

[data-theme="dark"] .login--email-footer {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .login-form-title {
    color: #F3F4F6;
}

[data-theme="dark"] .back-link {
    color: #9CA3AF;
}

[data-theme="dark"] .profile-option {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .profile-option:hover {
    border-color: #4B5563;
}

[data-theme="dark"] .profile-option.selected {
    border-color: #60A5FA;
    background: #1a2744;
}

[data-theme="dark"] .profile-title {
    color: #F3F4F6;
}

[data-theme="dark"] .profile-description {
    color: #9CA3AF;
}

[data-theme="dark"] .login-subtitle {
    color: #9CA3AF;
}

/* Email sent page */
[data-theme="dark"] .email-sent-instructions {
    background-color: #111827;
}

[data-theme="dark"] .instruction-text {
    color: #F3F4F6;
}

[data-theme="dark"] .instruction-list {
    color: #9CA3AF;
}

[data-theme="dark"] .email-sent-help {
    background: #111827;
}

[data-theme="dark"] .cgu-checkbox-label {
    color: #D1D5DB;
}

[data-theme="dark"] .cgu-checkbox-label a {
    color: #60A5FA;
}

/* ── Diagnostic Card ── */
[data-theme="dark"] .diagnostic-chat-title {
    background: linear-gradient(97deg, #60A5FA -8.25%, #E5E7EB 134.93%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

[data-theme="dark"] .diagnostic-chat-subtitle {
    color: #9CA3AF;
}

[data-theme="dark"] .diagnostic-chat-global-score {
    background: #1F2937;
    border-color: #374151;
}

[data-theme="dark"] .diagnose .diagnostic-chat-global-score-value {
    border-right-color: #374151;
}

[data-theme="dark"] .diagnostic-chat-global-score-text {
    color: #9CA3AF;
}

[data-theme="dark"] .diagnostic-chat-global-comment {
    color: #D1D5DB;
}

[data-theme="dark"] .diagnostic-chat-idea-info {
    border-color: #374151;
    background: linear-gradient(135deg, #1a2744 0%, #1E293B 100%);
}

[data-theme="dark"] .diagnostic-chat-idea-title {
    color: #9CA3AF;
}

[data-theme="dark"] .diagnostic-chat-idea-value {
    color: #F3F4F6;
}

[data-theme="dark"] .diagnostic-chat-idea-field p {
    color: #D1D5DB;
}

[data-theme="dark"] .diagnostic-chat-edit-button {
    border-color: #4B5563;
    color: #9CA3AF;
}

[data-theme="dark"] .diagnostic-chat-edit-button:hover {
    background: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .diagnostic-chat-criterion {
    background: #1F2937;
    border-color: #374151;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .diagnostic-chat-criterion-comment {
    color: #9CA3AF;
}

[data-theme="dark"] .diagnostic-chat-progress-bar {
    background-color: #374151;
}

[data-theme="dark"] .diagnostic-chat-recommendation {
    border-color: #374151;
}

[data-theme="dark"] .diagnostic-chat-recommendation-title {
    color: #F3F4F6;
}

[data-theme="dark"] .diagnostic-chat-recommendation-text {
    color: #D1D5DB;
}

[data-theme="dark"] .diagnostic-chat-recommendations-title {
    color: #F3F4F6;
}

/* Diagnostic post actions */
[data-theme="dark"] .diagnostic-post-actions {
    border-top-color: #374151;
}

[data-theme="dark"] .diagnostic-action-btn.primary {
    background: #2563EB;
}

[data-theme="dark"] .diagnostic-action-btn.primary:hover {
    background: #3B82F6;
}

[data-theme="dark"] .diagnostic-action-btn.secondary {
    color: #60A5FA;
    border-color: #60A5FA;
}

[data-theme="dark"] .diagnostic-action-btn.secondary:hover {
    background: rgba(96, 165, 250, 0.14);
}

/* Diagnostic edit modal */
[data-theme="dark"] .diagnostic-edit-modal-content {
    background: #1F2937;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .diagnostic-edit-modal-header {
    border-bottom-color: #374151;
}

[data-theme="dark"] .diagnostic-edit-modal-header h3 {
    color: #F3F4F6;
}

[data-theme="dark"] .diagnostic-edit-modal-close {
    color: #9CA3AF;
}

[data-theme="dark"] .diagnostic-edit-modal-close:hover {
    background: #374151;
}

[data-theme="dark"] .diagnostic-edit-form .form-label {
    color: #D1D5DB;
}

[data-theme="dark"] .diagnostic-edit-form .form-input,
[data-theme="dark"] .diagnostic-edit-form .form-textarea,
[data-theme="dark"] .diagnostic-edit-form .form-select {
    background: #111827;
    border-color: #374151;
    color: #E5E7EB;
}

[data-theme="dark"] .diagnostic-edit-form .form-input:focus,
[data-theme="dark"] .diagnostic-edit-form .form-textarea:focus,
[data-theme="dark"] .diagnostic-edit-form .form-select:focus {
    border-color: #60A5FA;
}

[data-theme="dark"] .diagnostic-edit-modal-actions {
    border-top-color: #374151;
}

[data-theme="dark"] .diagnostic-edit-modal-cancel {
    background: #1F2937;
    border-color: #374151;
    color: #9CA3AF;
}

[data-theme="dark"] .diagnostic-edit-modal-cancel:hover {
    background: #374151;
}

[data-theme="dark"] .diagnostic-edit-modal-save {
    background: #2563EB;
}

[data-theme="dark"] .diagnostic-edit-modal-save:hover {
    background: #3B82F6;
}

/* Chat actions container */
[data-theme="dark"] .chat-actions-container {
    border-color: #374151;
    background: linear-gradient(356deg, #1a2332 -58.42%, #1F2937 97.1%);
}

/* ── Chat Profile Nudge ── */
[data-theme="dark"] .chat-profile-nudge-content {
    border-color: #374151;
    background: linear-gradient(135deg, #1F2937 0%, #1E293B 100%);
}

[data-theme="dark"] .chat-profile-nudge-icon {
    background: linear-gradient(135deg, #2563EB, #60A5FA);
}

[data-theme="dark"] .chat-profile-nudge-text strong {
    color: #F3F4F6;
}

[data-theme="dark"] .chat-profile-nudge-text p {
    color: #9CA3AF;
}

[data-theme="dark"] .chat-profile-nudge-bar {
    background: #374151;
}

[data-theme="dark"] .chat-profile-nudge-fill {
    background: linear-gradient(90deg, #2563EB, #60A5FA);
}

[data-theme="dark"] .chat-profile-nudge-percent {
    color: #60A5FA;
}

[data-theme="dark"] .chat-profile-nudge-btn {
    background: #2563EB;
}

[data-theme="dark"] .chat-profile-nudge-btn:hover {
    background: #3B82F6;
}

/* ═══════════════════════════════════════════════════
   MOBILE RESPONSIVE DARK OVERRIDES
   ═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
    [data-theme="dark"] .sidebar-container {
        background: #1F2937;
    }

    .chart-container {
        height: 500px;
    }

    .chart-container{
        padding: 0 !important;
    }

    [data-theme="dark"] .sidebar-mobile-logout {
        border-top-color: #374151;
    }

    [data-theme="dark"] .sidebar-mobile-logout-btn {
        color: #F87171;
    }

    [data-theme="dark"] .sidebar-mobile-logout-btn:hover {
        background-color: rgba(248, 113, 113, 0.1);
    }

    [data-theme="dark"] .sidebar-mobile-login-btn {
        color: #60A5FA;
    }

    [data-theme="dark"] .sidebar-mobile-login-btn:hover {
        background-color: rgba(96, 165, 250, 0.1);
    }

    /* Etude de marché – sidebar mobile */
    [data-theme="dark"] .etude-marche-sidebar {
        background: #111827;
        border-bottom-color: #374151;
    }
}
/*
























 */

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Open Sans", sans-serif;
}

* {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* Internet Explorer 10+ */
}

*::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Edge */
}

html, body {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* Internet Explorer 10+ */
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Edge */
}

body{
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    background-color: #f5f5f5;
}

a{
    text-decoration: none;
}

input:focus, textarea:focus, select:focus{
    outline: none;
}

input:focus-visible, textarea:focus-visible, select:focus-visible{
    outline: none;
}

input:focus-within, textarea:focus-within, select:focus-within{
    outline: none;
}

textarea{
    resize: none;
}

button{
    background-color: transparent;
    cursor: pointer;   
}

main{
    display: flex;
    flex-direction: row;
    height: 100vh;
    background-color: #F6F7F8;
    overflow-y: hidden;
}

/* Flash Messages Container */
/* ═══════════════════════════════════════════════════
   Flash Toast Messages
   ═══════════════════════════════════════════════════ */

.flash-container {
    position: fixed;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 420px;
    width: calc(100% - 32px);
    pointer-events: none;
}

.flash-toast {
    border-radius: 10px;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-20px);
    transition: all 0.3s ease;
    pointer-events: auto;
}

.flash-toast.show {
    opacity: 1;
    transform: translateY(0);
}

.flash-toast.hide {
    opacity: 0;
    transform: translateY(-20px);
}

.flash-toast-body {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    font-size: 13px;
    font-weight: 600;
    font-family: "Open Sans", sans-serif;
}

.flash-toast-body i {
    font-size: 14px;
    flex-shrink: 0;
}

.flash-toast-body span {
    line-height: 1.4;
}

/* Success */
.flash-success {
    background: #ECFDF5;
    border: 1px solid #A7F3D0;
}

.flash-success .flash-toast-body {
    color: #065F46;
}

.flash-success .flash-toast-body i {
    color: #10B981;
}

.flash-success .flash-toast-progress {
    background: #10B981;
}

/* Error */
.flash-error {
    background: #FEF2F2;
    border: 1px solid #FECACA;
}

.flash-error .flash-toast-body {
    color: #991B1B;
}

.flash-error .flash-toast-body i {
    color: #EF4444;
}

.flash-error .flash-toast-progress {
    background: #EF4444;
}

/* Progress bar */
.flash-toast-progress {
    height: 3px;
    width: 100%;
    transform-origin: left;
}

@keyframes flash-progress {
    from { transform: scaleX(1); }
    to { transform: scaleX(0); }
}
  
  
  


/* Sidebar */

.sidebar-container {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100vh;
    border-right: 1px solid #DFE5EC;
    width: 350px;
    transition: width 0.3s ease;
    overflow: hidden;
}

.sidebar-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999;
}

.sidebar{
    width: 100%;
    padding: 24px;
    white-space: nowrap;
}

.sidebar  nav a img{
    width: 20px;
    height: 20px;
}

.sidebar-footer{
    padding: 24px;
}

.sidebar-footer .user-menu-button{
    width: 100%;
    justify-content: space-between;
    border-radius: 20px;
}


.sidebar-header-mobile {
    display: none;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #DFE5EC;
}

.sidebar-close-button {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    color: #6E7F93;
    padding: 8px;
    border-radius: 4px;
    transition: background-color 0.2s;
}

.sidebar-close-button:hover {
    background-color: #F6F7F8;
}

.sidebar nav{
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sidebar nav a{
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 10px;
    height: 48px;
    padding: 0 16px;
    font-size: 16px;
    font-weight: 600;
    color: #6E7F93;
}

span.sidebar-module-item{
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 10px;
    height: 48px;
    padding: 0 16px;
    font-size: 16px;
    font-weight: 600;
    color: #6E7F93;
}

.sidebar nav a.active{
    color: #0A58A5;
    background-color: #0a58a510;
    font-weight: 700;
    box-shadow: 0px 4px 8px 0px #0000000D;
    border: 1px solid var(--Color-2, #0A58A5)
}

.sidebar-title {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 20px;
}

.sidebar-title h1 {
    color: var(--stroke-1, #DFE5EC);
    font-size: 12px;
    font-weight: 700;
}

.divider {
    width: 100%;
    height: 1px;
    background-color: #DFE5EC;
}

.exit-button{
    padding: 0 !important;
}

.exit-button span{
    color: var(--Color0, #445972);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 14px; /* 100% */
}

.exit-button i{
    border-radius: 23px;
    background: #FFF;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0A58A5;
    /* gr1 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
}

.sidebar-module-icon{
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #F6F7F8;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 8px; /* 66.667% */
}

.sidebar-module-item{
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
}

/* Main */

.main{
    flex: 1;
    width: calc(100% - 350px);
}

header{
    display: none;
}

/*
header{
    height: 70px;
    width: 100%;
    border-bottom: 1px solid #DFE5EC;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 0 24px;
    position: relative;
}

header .whatsapp-button{
    display: none;
}

*/

/* Mobile Menu Button */
.mobile-menu-button {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    color: #0A58A5;
    padding: 8px;
    border-radius: 4px;
    transition: background-color 0.2s;
    margin-right: 12px;
}

.mobile-menu-button:hover {
    background-color: #F6F7F8;
}

.mobile-menu-button svg {
    width: 24px;
    height: 24px;
}

.header-icons-group{
    display: flex;
    align-items: center;
    gap: 4px;
    margin-right: 30px;
}

.header-icon-button{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: none;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
    padding: 0;
    position: relative;
}


/* User Menu Container */
.user-menu-container {
    position: relative;

}

.user-menu-button {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px;
    background: none;
    border: none;
    cursor: pointer;
    border-radius: 8px;
    transition: background-color 0.2s ease;
    border: 1px solid #DFE5EC;
    border-radius: 10px;
    white-space: nowrap;
    overflow: hidden;
}

.user-menu-button:hover {
    background-color: #F3F4F6;
}

.user-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.user-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #0A58A5;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
    flex-shrink: 0;
    overflow: hidden;
}

.sidebar-avatar-img{
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.user-details {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.user-name {
    font-size: 14px;
    font-weight: 600;
    color: #1F2937;
    line-height: 1.4;
}

.user-role {
    font-size: 12px;
    color: #6E7F93;
    line-height: 1.4;
}

.dropdown-arrow {
    color: #6E7F93;
    transition: transform 0.2s ease;
    flex-shrink: 0;
}

.user-menu-button:hover .dropdown-arrow {
    color: #0A58A5;
}

/* User Dropdown Menu */
.user-dropdown-menu {
    position: absolute;
    bottom: calc(100% + 8px);
    width: 100%;
    right: 0;
    background-color: #FFFFFF;
    border: 1px solid #DFE5EC;
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.037);
    min-width: 220px;
    padding: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: all 0.2s ease;
    z-index: 1000;
}

.user-dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-item-icon{
    display: flex;
    align-items: center;
    gap: 10px;
}

.dropdown-item-icon span{
    color: var(--Color0, #445972);
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 8px; /* 57.143% */
}

.notifications-item{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    font-size: 14px;
    color: #1F2937;
    text-decoration: none;
    border-radius: 8px;
    transition: background-color 0.2s ease;
    border: none;
    background: none;
    cursor: pointer;
    font-family: "Open Sans", sans-serif;
    text-align: left;
    font-weight: 600;
}

.dropdown-item:hover {
    background-color: #F3F4F6;
}

.dropdown-item.logout-item {
    color: #DC2626;
}

.dropdown-item.logout-item:hover {
    background-color: #FEE2E2;
    color: #991B1B;
}

.dropdown-divider {
    height: 1px;
    background-color: #DFE5EC;
    margin: 8px 0;
}

.dropdown-item-badge{
    border-radius: 30px;
    background: #FC121B;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF;
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    line-height: 8px; /* 80% */
}

.dropdown-item-text{
    color: var(--Color0, #445972) !important;
    font-size: 14px;
    font-style: normal;
    font-weight: 600 !important;
    line-height: 8px; /* 57.143% */
}

.credits-balance{
    border-radius: 30px;
    background: #0A58A5;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF !important;
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    line-height: 8px; /* 80% */
}


/* Language Switcher */
.language-switcher-container {
    position: relative;
}

.language-switcher-button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: none;
    border: none;
    cursor: pointer;
    border-radius: 8px;
    transition: background-color 0.2s ease;
    font-size: 16px;
    font-weight: 800;
    color: #6E7F93;
}

.language-switcher-button:hover {
    background-color: #F3F4F6;
}

.language-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background-color: #FFFFFF;
    border: 1px solid #DFE5EC;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 180px;
    padding: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: all 0.2s ease;
    z-index: 1000;
}

.language-dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.language-dropdown-menu .dropdown-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px 12px;
    font-size: 14px;
    color: #1F2937;
    text-decoration: none;
    border-radius: 8px;
    transition: background-color 0.2s ease;
    border: none;
    background: none;
    cursor: pointer;
    font-family: "Open Sans", sans-serif;
    text-align: left;
}

.language-dropdown-menu .dropdown-item:hover {
    background-color: #F3F4F6;
}

.langue-button span{
    font-size: 16px;
    font-weight: 800;
    color: #6E7F93;
}

.credit-badge{
    position: absolute;
    top: 2px;
    right: -7px;
    background-color: #0A58A5;
    color: #FFFFFF;
    font-size: 8px;
    font-weight: 700;
    border-radius: 10px;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    line-height: 1;
    border: 2px solid #FFFFFF;
}

.notification-badge{
    position: absolute;
    top: 2px;
    right: 6px;
    background-color: #DC2626;
    color: #FFFFFF;
    font-size: 8px;
    font-weight: 700;
    border-radius: 10px;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    line-height: 1;
    border: 2px solid #FFFFFF;
}

.action-card{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.content{
    height: 100vh;
    overflow-y: scroll;
    overflow-x: hidden;
    padding: 0 30px;
    margin: 0 auto;
    padding-bottom: 30px;
}

.projects-index-content{
    margin: 0 auto;
    height: 100%;
}

.explorer-content{
    margin: 0 auto;
    padding: 0 0;
    height: 100vh;
    overflow: scroll;
}


.explorer-content .project-page-header-content{
    padding: 30px 0;
    padding-bottom: 0;
}


/* Mobile Bottom Navbar */
.mobile-bottom-navbar {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #FFFFFF;
    border-top: 1px solid #DFE5EC;
    padding: 8px 0 calc(8px + env(safe-area-inset-bottom));
    z-index: 999;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
}

.mobile-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 8px 12px;
    color: #6E7F93;
    text-decoration: none;
    font-size: 11px;
    font-weight: 500;
    position: relative;
    transition: color 0.2s;
    min-width: 60px;
}

.mobile-nav-item svg,
.mobile-nav-item .icon {
    width: 24px;
    height: 24px;
    position: relative;
}

.mobile-nav-item.active {
    color: #0A58A5;
}

.mobile-nav-login {
    color: #0A58A5;
    font-weight: 600;
}

.mobile-nav-login i {
    font-size: 22px;
}

.mobile-nav-item span {
    font-size: 11px;
}

.mobile-nav-badge {
    position: absolute;
    top: 6px;
    right: calc(50% - 20px);
    background-color: #EF4444;
    color: #FFFFFF;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 10px;
    min-width: 18px;
    text-align: center;
    line-height: 14px;
}

.mobile-nav-credit {
    position: absolute;
    top: 6px;
    right: 29px;
    background-color: #0A58A5;
    color: #FFFFFF;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 10px;
    min-width: 18px;
    text-align: center;
    line-height: 14px;
}

/* Sidebar Mobile Logout */
.sidebar-mobile-logout{
    display: none;
}

/* Mobile Menu Button */
.mobile-menu-button {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    color: #0A58A5;
    padding: 8px;
    border-radius: 4px;
    transition: background-color 0.2s;
    margin-right: 12px;
}

.mobile-menu-button:hover {
    background-color: #F6F7F8;
}

.mobile-menu-button svg {
    width: 24px;
    height: 24px;
}

.page-header-content{
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--stroke-1, #DFE5EC);
    padding: 20px;
    background: linear-gradient(180deg, #E6ECF5 0%, #FFFFFF 100%);
    position: sticky;
    right: 0;
    top: 0;
    z-index: 9;
    height: 80px;
}

.page-header-content h1{
    color: var(--Color1, #223245);
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 18px; /* 100% */
}

.projects-index-page-title img{
    width: 30px !important;
    height: 30px !important;
}

.gross-margin-card p{
    color: #59B224;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 32px; /* 133.333% */
}

.page-header-content p{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px; 
    margin-top: 3px;
}

.page-header-content .add-project-button{
    display: flex;
    width: 185px;
    height: 44px;
    padding: 12px 17px;
    gap: 10px;
    flex-shrink: 0;
    border-radius: 15px;
    background: #0A58A5;
    justify-content: center;
    align-items: center;
    color: #fff;
}

.page-header-content .add-project-button span{
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}

.page-header-left{
    display: flex;
    gap: 12px;
    align-items: center;
}

.page-header-left .back-button{
    border-radius: 23px;
    background: #FFF;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    width: 42px;
    height: 42px;
    padding: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-header-left .back-button i{
    color: #0A58A5;
}

.project-cohorte-page-title{
    display: flex;
    gap: 10px ;
    align-items: center;
}

.project-cohorte-star-container{
    color: #59B224;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 12px; /* 100% */
    border-radius: 7px;
    border: 1px solid #59B224;
    align-items: center;
    display: flex;
    gap: 4px;
    padding: 7px 10px;
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(25px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(20px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.projects-index-page-header-left{
    width: 60%;
}

.projects-index-page-header-right{
    width: 40%;
    justify-content: end;
}

.home-page{
    padding: 60px 0;
    margin: 0 auto;
    height: 80vh;
    overflow: scroll;
}

/* Home Language Switcher */
.home-lang-switcher{
    display: flex;
    justify-content: flex-end;
    width: 100%;
    margin-bottom: 4px;
    position: relative;
}

.home-lang-btn{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 10px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    padding: 7px 14px;
    color: #0A58A5;
    font-family: "Open Sans";
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}

.home-lang-btn:hover{
    background: rgba(10, 88, 165, 0.06);
    border-color: #0A58A5;
}

.home-lang-btn i{
    font-size: 14px;
    opacity: 0.8;
}

.home-lang-btn svg{
    opacity: 0.6;
    transition: transform 0.2s ease;
}

.home-lang-dropdown{
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 160px;
    border-radius: 12px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    padding: 6px;
    z-index: 100;
    animation: fadeUp 0.15s ease-out;
}

.home-lang-dropdown.show{
    display: block;
}

.home-lang-option{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px 14px;
    border-radius: 8px;
    border: none;
    background: none;
    color: #223245;
    font-family: "Open Sans";
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    cursor: pointer;
    transition: background 0.15s ease;
}

.home-lang-option:hover{
    background: #F6F7F8;
}

.home-lang-option.active{
    color: #0A58A5;
    font-weight: 600;
}

.home-lang-option.active:hover{
    background: rgba(10, 88, 165, 0.06);
}

.home-lang-option i{
    font-size: 12px;
    color: #0A58A5;
}

/* Session pages Language Switcher (login, registration) */
.session-lang-switcher{
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1000;
}

.home-page h1.greeting {
    animation: fadeUp 0.5s ease-out both;
}

.home-page .action-cards .action-card:nth-child(1),
.home-page .action-cards button:nth-child(1) {
    animation: scaleIn 0.5s ease-out 0.15s both;
}

.home-page .action-cards .action-card:nth-child(2),
.home-page .action-cards button:nth-child(2) {
    animation: scaleIn 0.5s ease-out 0.3s both;
}

.home-page .action-cards .action-card:nth-child(3),
.home-page .action-cards button:nth-child(3) {
    animation: scaleIn 0.5s ease-out 0.45s both;
}

.home-page .idee-du-jour {
    animation: fadeUp 0.6s ease-out 0.6s both;
}

.ai-badge{
    border-radius: 25px;
    background: rgba(10, 88, 165, 0.08);
    height: 32px;
    padding: 10px 41px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: fit-content;
    margin: 0 auto;
}

.ai-badge span{
    color: #0A58A5;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 12px; /* 85.714% */
}

h1.greeting{
    text-align: center;
    color: var(--Color1, #223245);
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 34px; /* 42.857% */
}

/* Home chat form */
.home-chat-form {
    position: sticky;
    bottom: 0;
    padding: 20px 0;
    background: linear-gradient(to bottom, transparent, #F6F7F8 30%);
    animation: fadeUp 0.5s ease-out 0.6s both;
    width: 100%;
    padding-bottom: 0;
}

.home-page-content{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.home-chat-input-wrapper {
    display: flex;
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #fff;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    justify-content: space-between;
    flex-direction: column;
    align-items: end;
    padding: 20px;
    gap: 15px;
}

.home-chat-input {
    width: 100%;
    background-color: transparent;
    border: none;
    outline: none;
    color: var(--Color0, #445972);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 22px;
}

.home-chat-input::placeholder {
    color: var(--Color2, #6E7F93);
}

.home-chat-send {
    border-radius: 100%;
    background: #0A58A5;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    flex-shrink: 0;
}

.home-chat-send img {
    width: 16px;
    height: 16px;
    filter: brightness(0) invert(1);
}

p.subtitle{
    color: var(--Color2, #6E7F93);
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 12px; /* 85.714% */
    margin-top: 26px;
    text-align: center;
}

.ai-assistant-intro .action-cards{
    margin-top: 47px;
    display: flex;
    align-items: stretch; 
    gap: 25px;
}

.ai-assistant-intro .action-cards .action-card, .ai-assistant-intro .action-cards button{
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;
    width: 33%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 24px;
}

.ai-assistant-intro .action-cards .action-card img, .ai-assistant-intro .action-cards button img{
    width: 46px;
    height: 46px;
}

.ai-assistant-intro .action-cards .action-card h2, .ai-assistant-intro .action-cards button h2{
    color: var(--Color1, #223245);
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 133.333% */
    text-align: left;
} 

.ai-assistant-intro .action-cards .action-card p, .ai-assistant-intro .action-cards button p{
    color: var(--Color2, #6E7F93);
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 166.667% */
    text-align: left;
}

.ai-assistant-intro .action-cards .action-card .action-card-btn{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 10px;
    background: rgba(10, 88, 165, 0.06);
    height: 32px;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.3s ease, gap 0.3s ease, transform 0.2s ease;
}

.ai-assistant-intro .action-cards .action-card .action-card-btn:hover{
    background: rgba(10, 88, 165, 0.12);
    gap: 14px;
}

.ai-assistant-intro .action-cards .action-card .action-card-btn:active{
    transform: scale(0.97);
}

.ai-assistant-intro .action-cards .action-card .action-card-btn span{
    color: var(--Color-2, #0A58A5);
    font-family: "Open Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px;
}

.ai-assistant-intro .action-cards .action-card .action-card-btn img{
    width: 16px;
    height: 16px;
    transition: transform 0.3s ease;
}

.ai-assistant-intro .action-cards .action-card .action-card-btn:hover img{
    transform: translateX(3px);
}

.idee-du-jour{
    margin-top: 27px;
    border-radius: 20px;
    padding: 29px;
    display: flex;
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-color: #161921;
    height: 300px;
    justify-content: center;
    align-items: center;
}

.tendances-page-title img{
    width: 35px;
    height: 35px;
}

.idee-du-jour-overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(97deg, rgba(10, 88, 165, 0.419) -8.25%, rgba(22, 25, 33, 0.9) 134.93%);
    z-index: 1;
}

.idee-du-jour-content{
    position: relative;
    z-index: 2;
    width: 100%;
}

.idee-tag{
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.10);
    padding: 8px 20px;
    color: #FFF;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 166.667% */
    width: fit-content;
}

.idee-du-jour-content h3{
    color: #FFF;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 30px; /* 83.333% */
    margin-top: 26px;
}

.idee-du-jour-content p{
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 22px; /* 157.143% */
    margin-top: 15px;
    margin-bottom: 30px;
}

.idee-du-jour-content a{
    border-radius: 20px;
    background: #FFF;
    height: 42px;
    padding: 11px 28px;
    color: #0A58A5;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
    margin-top: 30px;
}

.explorer-page{
    padding: 30px;
}

.explorer-page-header{
    border-radius: 20px;
    background: var(--gar, linear-gradient(97deg, #0A58A5 -8.25%, #161921 134.93%));
    /* gr2 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    padding: 25px;
}

.explorer-page-header-title{
    display: flex;
    gap: 10px;
    align-items: center;
}


.explorer-page-header-title h1{
    color: #FFF;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 25px; /* 138.889% */
}

.explorer-page-header-actions{
    margin-top: 30px;
    display: flex;
    align-items: stretch;
    gap: 30px;
}

.explorer-page-header-actions .explorer-page-header-action-button{
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 15px;
    border: 1px solid var(--dee, #ffffff2a);
    background: rgba(0, 0, 0, 0.10);
    padding: 12px 28px;
}

.explorer-page-header-actions .explorer-page-header-action-button h2{
    color: #FFF;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 14px; /* 77.778% */
}

.explorer-page-header-actions .explorer-page-header-action-button span{
    color: #BEDBFF;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 14px; /* 116.667% */
    margin-top: 4px;
}

.explorer-users{
    display: flex;
    align-items: center;
    gap: 27px;
}

.explorer-users img{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: -15px;
}

.explorer-users p{
    color: #BEDBFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 142.857% */
}

.ideation-title{
    margin-top: 30px;
}

.ideation-cards{
    margin-top: 15px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 24px;
    grid-row-gap: 24px;
}

.ideation-card{
    padding: 20px;
    border-radius: 20px;
    border: 1px solid var(--stroke-1, #DFE5EC);
    background: #FFF;

    /* gr2 */
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: space-between;
}

.ideation-card h3{
    color: #223245;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px; /* 133.333% */
}

.ideation-card p{
    color: #6E7F93;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 142.857% */
}

.ideation-card a{
    border-radius: 10px;
    background: rgba(10, 88, 165, 0.06);
    height: 38px;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
    color: #0A58A5;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 142.857% */
}

h2.ideation-title{
    color: var(--Color0, #445972);
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 32px; /* 177.778% */
}

/* ========== Explorer Page Animations ========== */

.explorer-page-header{
    animation: fadeUp 0.4s ease-out both;
}

.explorer-page-header-title{
    animation: fadeUp 0.4s ease-out 0.1s both;
}

.explorer-page-header-action-button{
    animation: scaleIn 0.4s ease-out both;
}

.explorer-page-header-action-button:nth-child(1){ animation-delay: 0.15s; }
.explorer-page-header-action-button:nth-child(2){ animation-delay: 0.25s; }

.explorer-users{
    animation: fadeUp 0.4s ease-out 0.3s both;
}

.ideation-title{
    animation: fadeUp 0.4s ease-out 0.25s both;
}

.ideation-card{
    animation: scaleIn 0.5s ease-out both;
}

.ideation-card:nth-child(1){ animation-delay: 0.2s; }
.ideation-card:nth-child(2){ animation-delay: 0.3s; }
.ideation-card:nth-child(3){ animation-delay: 0.4s; }
.ideation-card:nth-child(4){ animation-delay: 0.45s; }
.ideation-card:nth-child(5){ animation-delay: 0.5s; }
.ideation-card:nth-child(6){ animation-delay: 0.55s; }

/* Phase 1 : le container se réduit, tout le contenu est clippé */
.sidebar-animating {
    width: 80px;
}

/* Phase 2 : layout final (display none + centrage des icônes) */
.sidebar-collapsed {
    width: 80px;
}

.sidebar-collapsed .sidebar {
    width: 100%;
    padding: 24px 12px;
}

.sidebar-collapsed .sidebar-footer {
    padding: 12px;
    padding-top: 0;
    padding-bottom: 24px;
}

.sidebar-collapsed .module-nav-header .exit-button,
.sidebar-collapsed .sidebar-module-project-title h3,
.sidebar-collapsed .sidebar-module-project-activity,
.sidebar-collapsed .sidebar-module-progress-header span:first-child,
.sidebar-collapsed .sidebar-module-progress-bar,
.sidebar-collapsed .sidebar-module-item span,
.sidebar-collapsed .sidebar nav a span,
.sidebar-collapsed .sidebar-title,
.sidebar-collapsed .user-details,
.sidebar-collapsed .dropdown-arrow,
.sidebar-collapsed .sidebar .logo {
    display: none;
}

.project-cohorte-badge{
    font-size: 16px !important;
}

.project-cohorte-mobile-only{
    display: none;
}

.project-cohorte-star-container img{
    width: 15px !important;
    height: 15px !important;
}

.sidebar-collapsed nav a{
    gap: 0;
}

.sidebar-collapsed .sidebar-module-project-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 0;
    border: none;
    gap: 20px;
    height: 100px;
    justify-content: center;

}

.sidebar-collapsed .sidebar-module-project-title {
    justify-content: center;
}

.sidebar-collapsed .sidebar-module-progress-info {
    width: 100%;
}

.sidebar-collapsed .sidebar-module-progress-header {
    justify-content: center !important;
}

.sidebar-collapsed .sidebar-module-progress-header span {
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    margin-top: 5px;
}

.sidebar-collapsed .sidebar nav a,
.sidebar-collapsed .sidebar-module-item {
    justify-content: center;
    padding: 0;
    margin: 0 auto;
    width: 100%;
}

.sidebar-collapsed .module-nav-header {
    justify-content: center;
    height: 48px;
}

.sidebar-collapsed .module-nav-header button {
    margin: 0;
}

.sidebar-collapsed .user-menu-button {
    justify-content: center;
    padding: 8px;
}

.sidebar-collapsed .user-info {
    gap: 0;
}

/* Phase expand : le container s'élargit, texte encore clippé */

.module-navigation{
    margin-top: 0 !important;
}

.module-nav-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.module-nav-header button{
    border: none;
}

.sidebar-module-project-title{
    display: flex;
    align-items: center;
    gap: 10px;
}


/* ═══════════════════════════════════════════════════
   RESPONSIVE — Mobile & Tablet (max-width: 768px)
   ═══════════════════════════════════════════════════ */

@media (max-width: 768px) {

    .projects-modal-content{
        max-width: 100%;
    }

    .projects-list{
        display: flex;
        flex-direction: column;
        
    }

    /* ── Layout — .main is the single scroll container ── */
    main {
        flex-direction: column;
        height: 100vh;
        overflow: hidden;
    }

    .main {
        width: 100%;
        height: 100vh;
        overflow-y: auto;
        overflow-x: hidden;
    }

    /* ── Header fixed at top ── */
    header {
        display: flex;
        height: 56px;
        min-height: 56px;
        width: 100%;
        border-bottom: 1px solid #DFE5EC;
        align-items: center;
        justify-content: space-between;
        padding: 0 16px;
        position: sticky;
        top: 0;
        background: #fff;
        z-index: 100;
    }

    .mobile-menu-button {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* ── Sidebar hidden by default on mobile ── */
    .sidebar-container {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 300px;
        z-index: 1000;
        transform: translateX(-100%);
        transition: transform 0.3s ease;
        background: #fff;
    }

    .sidebar-container.mobile-open {
        transform: translateX(0);
    }

    .sidebar-container.mobile-open .sidebar-overlay {
        display: block;
    }

    /* Overlay: covers the full screen behind the sidebar */
    .sidebar-container .sidebar-overlay {
        position: fixed;
        top: 0;
        left: 300px;
        right: 0;
        bottom: 0;
        width: 100vw;
    }

    /* ── Mobile header inside sidebar ── */
    .sidebar-header-mobile {
        display: flex;
    }

    .sidebar-close-button {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .sidebar > .logo {
        display: none;
    }

    /* ── Sidebar content adjustments ── */
    .sidebar {
        overflow-y: auto;
        padding: 20px 16px;
        display: flex;
        flex-direction: column;
        flex: 1;
    }

    .sidebar-footer {
        display: none;
    }

    .sidebar-mobile-logout {
        display: block;
        padding: 16px 24px;
        margin-top: auto;
        border-top: 1px solid #E5E7EB;
    }

    .sidebar-mobile-logout-btn {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        padding: 12px;
        border: none;
        background: none;
        color: #DC2626;
        font-size: 14px;
        font-family: inherit;
        cursor: pointer;
        border-radius: 8px;
        transition: background-color 0.2s;
    }

    .sidebar-mobile-logout-btn:hover {
        background-color: #FEE2E2;
    }

    .sidebar-mobile-logout-btn i {
        font-size: 18px;
    }

    .sidebar-mobile-login-btn {
        color: #0A58A5;
        text-decoration: none;
    }

    .sidebar-mobile-login-btn:hover {
        background-color: #E0EFFF;
    }

    /* Disable collapse on mobile (always expanded) */
    .sidebar-container.sidebar-collapsed,
    .sidebar-container.sidebar-animating,
    .sidebar-container.sidebar-expanding {
        width: 300px;
    }

    /* Undo all collapsed display:none overrides on mobile */
    .sidebar-collapsed .sidebar-module-item span,
    .sidebar-collapsed .sidebar nav a span,
    .sidebar-collapsed .sidebar-title,
    .sidebar-collapsed .user-details,
    .sidebar-collapsed .dropdown-arrow,
    .sidebar-collapsed .sidebar .logo,
    .sidebar-collapsed .module-nav-header .exit-button,
    .sidebar-collapsed .sidebar-module-project-title h3,
    .sidebar-collapsed .sidebar-module-project-activity,
    .sidebar-collapsed .sidebar-module-progress-header span:first-child,
    .sidebar-collapsed .sidebar-module-progress-bar {
        display: revert;
    }

    .sidebar-collapsed nav a,
    .sidebar-collapsed .sidebar-module-item {
        justify-content: flex-start;
        padding: 0 12px !important;
        width: auto;
        height: 44px;
        margin: 0;
        display: flex;
        justify-content: start !important;
        gap: 10px;
    }

    .sidebar-collapsed .module-nav-header {
        justify-content: space-between;
        height: auto;
    }

    .sidebar-collapsed .sidebar-module-project-card {
        display: block;
        padding: 15px;
    }

    .sidebar-collapsed .user-menu-button {
        justify-content: space-between;
        padding: 12px;
    }

    .sidebar-collapsed .user-info {
        gap: 12px;
    }

    .sidebar-container .module-nav-header button[data-action*="toggleCollapse"] {
        display: none;
    }

    /* ── Module navigation ── */
    .module-navigation {
        gap: 6px;
    }

    .sidebar-module-item {
        font-size: 14px;
        height: 44px;
        padding: 0 12px;
    }

    .sidebar-module-item .sidebar-module-icon {
        width: 20px;
        height: 20px;
    }

    /* ── Header elements — masquer ce qui est déjà dans le bottom navbar ── */
    header .user-menu-container,
    header .header-icons-group,
    header .language-switcher-container {
        display: none;
    }

    /* ── Page header — sticky below the header ── */
    .page-header-content {
        
    }

    .page-header-content h1 {
        font-size: 16px;
    }

    .page-header-content p {
        font-size: 11px;
    }

    .etude-index-page-header-left img{
        width: 20px;
        height: 20px;
    }

    .page-header-content p{
        display: none;
    }

    .segment-actions{
        flex-direction: row !important;
    }

    .model-item-actions{
        width: 100%;
    }

    .distribution-modal-content, .metric-modal, .sizing-modal-content{
        width: 95% !important;
        max-width: 95% !important;
    }

    .projects-index-page-header-right{
        justify-content: end;
    }

    /* ── Aide button — icon only ── */
    .aide-button span {
        display: none;
    }

    /* ── Content — no own scroll context ── */
    .content {
        height: calc(100vh - 77.5px - 56px);
        overflow-y: visible;
        overflow-x: hidden;
        padding-bottom: 80px;
        padding: 0 20px;
        padding-bottom: 80px;
    }

    /* ── Bottom navbar ── */
    .mobile-bottom-navbar {
        display: flex;
    }

    .segments-clients-page{
        height: calc(100vh - 213.5px);
        padding: 15px;
    }

    .segments-header-count{
        display: none;
    }

    .segments-grid{
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .segment-metrics-items{
        display: flex;
        flex-direction: column;
    }

    .segment-edit-modal-content{
        max-width: 90%;
    }

    .segment-edit-modal-header, .segment-edit-modal-form{
        padding: 10px 20px;
    }

    .segment-edit-modal-header h3 {
        font-size: 16px;
    }

    .segment-edit-form-row{
        flex-direction: column;
    }

    .segment-edit-form-row .segment-edit-form-group{
        width: 100%;
    }

    .segment-edit-modal-cancel, .segment-edit-modal-save{
        width: 50%;
    }

    .value-prop-filters-actions{
        flex-direction: column;
    }

    .segment-dropdown-button{
        width: 100%;
    }

    .segment-dropdown-text{
        font-size: 10px;
    }

    .projects-page{
        padding: 20px;
        height: calc(100vh - 197.5px);
        overflow: scroll;
    }

    .view-toggle button{
        width: 100%;
        justify-content: center;
    }

    .segment-value-prop-content, .vp-row{
        flex-direction: column;
    }

    .vp-row{
        gap: 0;
    }

    .vp-row .vp-category, .summary-sub-item{
        width: 100%;
    }

    .summary-sub-sections{
        flex-direction: column;
    }

    .customer-profile-cards, .value-prop-map-cards{
        flex-direction: column;
    }

    .customer-profile-card, .value-prop-map-card{
        width: 100%;
    }

    .explorer-page{
        padding: 20px;
        height: 100%;
        overflow: scroll;
    }

    .explorer-page-header-actions{
        flex-direction: column;
    }

    .ideation-cards{
        display: flex;
        flex-direction: column;
    }

    .pf-content{
        height: calc(100% - 48px );
        overflow: scroll;
    }

    .profile-content{
        height: calc(100vh - 56px - 77.5px);
    }

    .home-chat-form{
        position: static;
    }

    .explorer-content{
        height: calc(100vh - 77.5px - 56px);
    }

    .home-page{
        overflow: auto;
        padding: 20px !important;
    }

    .idee-du-jour{
        height: fit-content;
        padding: 20px 15px;
    }

    .home-chat-form {
    }

    .home-page-content{
        padding-bottom: 20px;
        overflow: scroll;
        height: calc(100% - 56px - 77.5px);
        display: block;
    }

    .no-bottom-nav .home-page-content{
        height: calc(100% - 56px);
        padding-bottom: 20px;
    }

    .home-page{
        height: calc(100% - 135px);
    }

    .no-bottom-nav .home-page{
        height: calc(100% - 135px);
    }

    .filters-button span{
        display: none;
    }

    .pwa-banner {
        bottom: calc(77.5px + env(safe-area-inset-bottom));
    }

    .no-bottom-nav .pwa-banner {
        bottom: 0;
    }

}

/* ═══════════════════════════════════════════════════
   PWA Install Banner
   ═══════════════════════════════════════════════════ */
.pwa-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    transform: translateY(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0 16px 16px;
}

.pwa-banner--visible {
    transform: translateY(0);
}

.pwa-banner__content {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border-radius: 16px;
    padding: 14px 16px;
    box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.12);
    border: 1px solid #DFE5EC;
}

.pwa-banner__icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    flex-shrink: 0;
}

.pwa-banner__text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.pwa-banner__text strong {
    font-size: 14px;
    font-weight: 700;
    color: #223245;
}

.pwa-banner__text span {
    font-size: 12px;
    color: #6E7F93;
    line-height: 1.4;
}

.pwa-banner__text span i {
    font-size: 11px;
}

.pwa-banner__install {
    flex-shrink: 0;
    border: none;
    border-radius: 10px;
    background: linear-gradient(135deg, #0A58A5, #0D6FD4);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    padding: 10px 18px;
    cursor: pointer;
    transition: opacity 0.2s;
}

.pwa-banner__install:hover {
    opacity: 0.9;
}

.pwa-banner__close {
    flex-shrink: 0;
    background: none;
    border: none;
    color: #6E7F93;
    cursor: pointer;
    padding: 6px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
}

.pwa-banner__close:hover {
    background-color: #F3F4F6;
    color: #374151;
}
