.conversation-container{background:#fff;border:1px solid #dee2e6;border-radius:.5rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);display:flex;flex-direction:column;height:100vh;max-height:800px;overflow:hidden}.conversation-header{background:#f8f9fa;border-bottom:1px solid #dee2e6;padding:1rem 1.25rem}.conversation-header h3,.conversation-header h4,.conversation-header h5{color:#212529;font-size:1.125rem;font-weight:600;margin:0}.conversation-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.context-badge{background:#e7f1ff;border:1px solid #b6d4fe;border-radius:.25rem;color:#0a58ca;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.context-badge.error{background:#f8d7da;border:1px solid #f5c2c7;color:#842029}.messages-wrapper{background:#f8f9fa;flex:1;overflow-y:auto;padding:1.25rem;scroll-behavior:smooth}.messages-wrapper::-webkit-scrollbar{width:.5rem}.messages-wrapper::-webkit-scrollbar-track{background:#e9ecef}.messages-wrapper::-webkit-scrollbar-thumb{background:#adb5bd;border-radius:.25rem}.messages-wrapper::-webkit-scrollbar-thumb:hover{background:#6c757d}.message-list{display:flex;flex-direction:column;gap:1rem}.message{animation:messageSlideIn .2s ease-out;border-radius:.5rem;max-width:70%;padding:.875rem 1rem;position:relative;transition:box-shadow .2s ease}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-own{align-self:flex-end;box-shadow:0 .125rem .25rem rgba(13,110,253,.25)}.message-own .message-header{opacity:.9}.message-other{align-self:flex-start;background:#fff;border:1px solid #dee2e6;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);color:#212529}.message-header{align-items:center;display:flex;font-size:.75rem;font-weight:600;justify-content:space-between;margin-bottom:.5rem}.message-header .sender-name{align-items:center;display:flex;gap:.25rem}.message-header .message-time{font-weight:400;opacity:.75}.message-content{font-size:.9375rem;line-height:1.5;word-break:break-word}.message-actions-separator{border-top:1px solid #dee2e6;margin-top:.75rem;padding-top:.75rem}.message-actions{display:flex;flex-wrap:wrap;gap:.5rem}.message-actions .btn{align-items:center;border-radius:.375rem;display:inline-flex;font-size:.8125rem;font-weight:500;gap:.375rem;padding:.375rem .75rem;transition:all .15s ease-in-out}.message-actions .btn i{font-size:1rem}.message-actions .btn:hover{box-shadow:0 .25rem .5rem rgba(0,0,0,.15);transform:translateY(-1px)}.message-actions .btn:active{transform:translateY(0)}.message-actions .btn-outline-secondary{border-color:#6c757d;color:#6c757d}.message-actions .btn-outline-secondary:hover{background-color:#6c757d;border-color:#6c757d;color:#fff}.message-actions .btn-outline-primary{border-color:#0d6efd;color:#0d6efd}.message-actions .btn-outline-primary:hover{background-color:#0d6efd;border-color:#0d6efd;color:#fff}.empty-state{color:#6c757d;padding:3rem 2rem;text-align:center}.empty-state:before{content:"💬";display:block;font-size:3rem;margin-bottom:1rem;opacity:.5}.message-input-wrapper{background:#fff;border-top:1px solid #dee2e6;box-shadow:0 -.125rem .25rem rgba(0,0,0,.05)}.message-input-container{background:#fff;padding:1rem 1.25rem}.message-textarea{background:#fff;border:1px solid #ced4da;border-radius:.375rem;font-family:inherit;font-size:.9375rem;margin-bottom:.75rem;min-height:100px;padding:.75rem;resize:none;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.message-textarea:focus{background:#fff;border-color:#86b7fe;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);outline:none}.ck.ck-editor{border:1px solid #ced4da!important;border-radius:.375rem!important;margin-bottom:.75rem;overflow:hidden;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.ck.ck-editor:focus-within{border-color:#86b7fe!important;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)!important}.ck.ck-editor__top{background:#f8f9fa!important;border-bottom:1px solid #dee2e6!important}.ck.ck-toolbar{background:transparent!important;border:none!important;padding:.5rem!important}.ck.ck-editor__main{background:#fff!important}.ck.ck-content{font-size:.9375rem!important;min-height:120px!important;padding:.75rem!important}.input-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.input-actions .btn{align-items:center;display:inline-flex;font-weight:500;gap:.5rem;transition:all .15s ease-in-out}.input-actions .btn i{font-size:1.125rem}.input-actions .btn:hover:not(:disabled){box-shadow:0 .25rem .5rem rgba(0,0,0,.15);transform:translateY(-1px)}.input-actions .btn:active:not(:disabled){transform:translateY(0)}.send-button{align-items:center;display:inline-flex;font-weight:600;gap:.5rem;padding:.625rem 1.5rem}.send-button i{font-size:1.25rem}@media (max-width:768px){.conversation-container{max-height:600px}.message{max-width:85%;padding:.75rem .875rem}.conversation-header{padding:.875rem 1rem}.messages-wrapper{padding:1rem}.message-input-container{padding:.875rem 1rem}.message-actions .btn{font-size:.75rem;padding:.25rem .5rem}}.message-content p{margin:0 0 .5rem}.message-content p:last-child{margin-bottom:0}.message-content ol,.message-content ul{margin:.5rem 0;padding-right:1.5rem}.message-content ol li,.message-content ul li{margin-bottom:.25rem}.message-content a{color:inherit;text-decoration:underline}.message-own .message-content a{color:hsla(0,0%,100%,.9)}.message-other .message-content a{color:#0d6efd}.message-content img{border-radius:.375rem;height:auto;margin:.75rem 0;max-width:100%}.message-content b,.message-content strong{font-weight:600}.message-content em,.message-content i{font-style:italic}.message-document{align-items:center;background:rgba(0,0,0,.05);border-radius:.375rem;color:inherit;display:flex;gap:.75rem;margin-top:.75rem;padding:.75rem;text-decoration:none;transition:all .15s ease}.message-own .message-document{background:hsla(0,0%,100%,.15)}.message-other .message-document{background:#f8f9fa;border:1px solid #dee2e6}.message-document:hover{box-shadow:0 .125rem .25rem rgba(0,0,0,.075);transform:translateX(-4px)}.gap-1{gap:.5rem}.document-card{cursor:pointer;height:100%;position:relative;transition:all .2s ease}.document-checkbox{opacity:0;pointer-events:none;position:absolute}.document-card-content{align-items:center;background:#fff;border:2px solid #dee2e6;border-radius:.75rem;cursor:pointer;display:flex;flex-direction:column;height:100%;padding:1.5rem 1rem;position:relative;transition:all .2s ease}.document-card:hover .document-card-content{border-color:#0d6efd;box-shadow:0 .25rem .75rem rgba(13,110,253,.15);transform:translateY(-2px)}.document-checkbox:checked+.document-card-content{background:linear-gradient(-135deg,#e7f1ff,#f8f9fa);border-color:#0d6efd;box-shadow:0 .25rem .75rem rgba(13,110,253,.2)}.document-icon{align-items:center;background:#f8f9fa;border-radius:.5rem;display:flex;height:60px;justify-content:center;margin-bottom:1rem;transition:all .2s ease;width:60px}.document-card:hover .document-icon{background:#e7f1ff;transform:scale(1.1)}.document-checkbox:checked+.document-card-content .document-icon{background:#e7f1ff}.document-info{text-align:center;width:100%}.document-name{color:#212529;display:-webkit-box;font-size:.875rem;font-weight:600;-webkit-line-clamp:2;line-height:1.4;margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.document-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.document-meta .badge{font-size:.6875rem;font-weight:600;padding:.25rem .5rem}.document-meta small{font-size:.75rem}.document-check{font-size:1.5rem;left:.75rem;position:absolute;top:.75rem;transition:all .2s ease}.document-check i:first-child{color:#dee2e6;display:block}.document-check i:last-child{color:#0d6efd;display:none}.document-checkbox:checked+.document-card-content .document-check i:first-child{display:none}.document-checkbox:checked+.document-card-content .document-check i:last-child{animation:checkBounce .3s ease;display:block}@keyframes checkBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.upload-zone{background:#f8f9fa;border:3px dashed #dee2e6;border-radius:.75rem;cursor:pointer;transition:all .2s ease}.upload-zone:hover{background:#e7f1ff;border-color:#0d6efd}.upload-zone:hover i{opacity:.8!important;transform:scale(1.1)}.upload-preview-card{background:#fff;border:2px solid #0d6efd;border-radius:.75rem;box-shadow:0 .125rem .25rem rgba(13,110,253,.1);padding:1rem}.upload-icon{align-items:center;background:#e7f1ff;border-radius:.5rem;display:flex;height:50px;justify-content:center;width:50px}.modal-xl .modal-body{background:#f8f9fa}.modal-header.bg-light{border-bottom:1px solid #dee2e6}.modal-footer.bg-light{border-top:1px solid #dee2e6}@media (max-width:768px){.document-card-content{padding:1rem .75rem}.document-icon{height:50px;margin-bottom:.75rem;width:50px}.document-icon i{font-size:1.5rem!important}.document-name{font-size:.8125rem}}#selectedDocsCount{font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}#selectedDocsCount:not(:empty){animation:badgePulse .3s ease}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.upload-zone.drag-over{background:#e7f1ff;border-color:#0d6efd;transform:scale(1.02)}.offre-transmission{padding:.5rem 0}.offre-transmission h5{align-items:center;color:var(--bs-primary,#06c);display:flex;font-weight:600;gap:.5rem;margin-bottom:1rem}.offre-transmission h5 i{font-size:1.5rem}.offre-transmission .alert-info{background-color:#e8f4fd;border-color:#bee5eb;border-radius:.5rem;color:#0c5460;padding:1rem}.offre-details{border:1px solid #dee2e6;border-radius:.5rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075);transition:all .2s ease}.offre-details:hover{box-shadow:0 .25rem .5rem rgba(0,0,0,.1)}.offre-details .card-body{padding:1.25rem}.offre-details strong{align-items:center;color:#495057;display:inline-flex;font-weight:600;gap:.25rem}.offre-details strong i{color:var(--bs-primary,#06c)}.offre-documents h6{align-items:center;color:#495057;display:flex;font-weight:600;gap:.5rem;margin-bottom:.75rem}.offre-documents .documents-list{display:flex;flex-direction:column;gap:0}.offre-documents .document-item{background-color:#fff;border:1px solid #dee2e6!important;border-radius:.5rem;padding:.75rem;transition:all .2s ease}.offre-documents .document-item:hover{background-color:#f8f9fa;box-shadow:0 2px 4px rgba(0,0,0,.1)}.offre-documents .document-item i.ti-file-text{flex-shrink:0;font-size:1.5rem}.offre-documents .document-info{flex-grow:1;min-width:0}.offre-documents .document-name{color:#212529;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offre-documents .document-actions{flex-shrink:0}.offre-documents .document-actions .btn{align-items:center;border-radius:.375rem;display:inline-flex;height:32px;justify-content:center;padding:0;width:32px}.offre-documents .document-actions .btn i{font-size:1.125rem}.approval-actions{border-top:1px solid #dee2e6;padding-top:1rem}.approval-actions .btn{align-items:center;border-radius:.5rem;display:inline-flex;font-weight:500;gap:.5rem;padding:.5rem 1.5rem;transition:all .2s ease}.approval-actions .btn-success{background-color:#28a745;border-color:#28a745}.approval-actions .btn-success:hover{background-color:#218838;border-color:#1e7e34;box-shadow:0 .25rem .5rem rgba(40,167,69,.3);transform:translateY(-2px)}.approval-actions .btn-danger{background-color:#dc3545;border-color:#dc3545}.approval-actions .btn-danger:hover{background-color:#c82333;border-color:#bd2130;box-shadow:0 .25rem .5rem rgba(220,53,69,.3);transform:translateY(-2px)}.approval-actions .btn i{font-size:1.1rem}.offre-transmission .alert-success{align-items:center;background-color:#d4edda;border-color:#c3e6cb;border-radius:.5rem;color:#155724;display:flex;gap:.5rem}.offre-transmission .alert-success i{font-size:1.25rem}.offre-transmission .alert-warning{align-items:center;background-color:#fff3cd;border-color:#ffeaa7;border-radius:.5rem;color:#856404;display:flex;gap:.5rem}.message-metadata{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.message-metadata .badge{align-items:center;display:inline-flex;font-weight:500;gap:.25rem;padding:.5rem .75rem}.message-metadata .badge i{font-size:1rem}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.offre-transmission{animation:slideInUp .3s ease-out}@media (max-width:768px){.offre-details .row{flex-direction:column}.offre-details .col-md-6{margin-bottom:.75rem}.approval-actions{flex-direction:column}.approval-actions .btn{justify-content:center;width:100%}}.etude-prelable-client .card{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.9);border:none;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.05);overflow:hidden}.etude-prelable-client .status-banner{align-items:center;border-radius:12px;color:#fff;display:flex;justify-content:center;margin-bottom:2rem;padding:3rem;transition:all .3s ease}.etude-prelable-client .status-banner .status-icon{flex-shrink:0;font-size:5rem;margin-left:3rem;-webkit-text-fill-color:#fff}.etude-prelable-client .status-banner .status-text{text-align:right}.etude-prelable-client .status-banner .status-title{color:#fff;font-family:Outfit,sans-serif;font-size:2.2rem;font-weight:700;margin-bottom:.5rem}.etude-prelable-client .status-banner .status-description{font-size:1.25rem;line-height:1.4;margin-bottom:0;opacity:.95}.etude-prelable-client .bg-viable{background-color:#48bb78}.etude-prelable-client .bg-non-viable{background-color:#f56565}.etude-prelable-client .bg-analyse{background-color:#4299e1}@media (max-width:768px){.etude-prelable-client .status-banner{flex-direction:column;padding:2rem 1.5rem;text-align:center}.etude-prelable-client .status-banner .status-icon{font-size:4rem;margin-bottom:1.5rem;margin-left:0}.etude-prelable-client .status-banner .status-text{text-align:center}.etude-prelable-client .status-banner .status-title{font-size:1.75rem}.etude-prelable-client .status-banner .status-description{font-size:1.1rem}}.offre-fournisseurs-client .product-card{background:#fff;border:none;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.05);height:100%;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.offre-fournisseurs-client .product-card:hover{box-shadow:0 8px 25px rgba(0,0,0,.1);transform:translateY(-5px)}.offre-fournisseurs-client .product-image-container{align-items:center;background:#f8f9fa;display:flex;height:120px;justify-content:center;padding:1rem}.offre-fournisseurs-client .product-image-container img{max-height:100%;max-width:100%;object-fit:contain}.offre-fournisseurs-client .product-info{padding:1.25rem}.offre-fournisseurs-client .product-category{color:#6c757d;display:block;font-size:.85rem;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.offre-fournisseurs-client .product-title{color:#2d3748;font-size:1.1rem;font-weight:600;line-height:1.3;margin-bottom:.5rem}.offre-fournisseurs-client .product-brand{color:#4a5568;font-size:.9rem;margin-bottom:1rem}.offre-fournisseurs-client .product-details{align-items:center;border-top:1px solid #edf2f7;display:flex;justify-content:space-between;padding-top:1rem}.offre-fournisseurs-client .product-quantity{color:#4299e1;font-weight:700}.offre-fournisseurs-client .product-price{color:#718096;font-size:.9rem}.offre-fournisseurs-client .section-title{color:#1a202c;font-family:Outfit,sans-serif;font-weight:700;margin-bottom:1.5rem;padding-right:1rem;position:relative}.offre-fournisseurs-client .section-title:before{background:#4299e1;border-radius:2px;content:"";height:100%;position:absolute;right:0;top:50%;transform:translateY(-50%);width:4px}@media (max-width:768px){.offre-fournisseurs-client .product-card{margin-bottom:1rem}.offre-fournisseurs-client .section-title{font-size:1.25rem}}.dropdown-menu-tranches-produit{max-height:min(55vh,320px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}[data-loading*=\|show],[data-loading=""],[data-loading=show]{display:none}.projet-etape-readonly [data-action*="live#action"],.projet-etape-readonly [data-action*="submit->live#action"],.projet-etape-readonly button[data-bs-toggle=modal]:not([data-bs-dismiss]),.projet-etape-readonly button[type=submit],.projet-etape-readonly input[type=submit]{display:none!important}.projet-etape-readonly .btn-close,.projet-etape-readonly button[data-bs-dismiss=modal]{display:inline-block!important}.projet-etape-readonly input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.projet-etape-readonly select,.projet-etape-readonly textarea{background-color:var(--bs-secondary-bg,#e9ecef);pointer-events:none}.projet-etape-readonly input[type=checkbox],.projet-etape-readonly input[type=radio]{opacity:.65;pointer-events:none}.projet-etape-readonly .form-range{opacity:.75;pointer-events:none}.projet-etape-readonly .cke,.projet-etape-readonly .cke_editable{opacity:.85;pointer-events:none!important}.projet-etape-readonly .action-column a,.projet-etape-readonly .action-column button{display:none!important}