/* ==========================================================
   CRM ALLIANCE — BOUTON PRIMAIRE D'AJOUT
   Ex. : + Nouveau ticket / + Nouveau client / + Nouveau devis
   ========================================================== */


/* Conteneur Elementor / shortcode */
.card-header .primary-btn,
.card-header .elementor-shortcode > .primary-btn {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
}


/* Bouton */
.card-header .primary-btn > a,
.card-header .elementor-shortcode > .primary-btn > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;

    min-height: 30px;
    padding: 6px 11px;

    border: 1px solid #3b82f6;
    border-radius: 6px;

    background: #3b82f6;

    color: #fff !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;

    text-decoration: none !important;
    white-space: nowrap;

    box-shadow: none;

    cursor: pointer;

    transition:
        background-color .15s ease,
        border-color .15s ease,
        box-shadow .15s ease,
        transform .1s ease;
}


/* "+" automatique */
.card-header .primary-btn > a::before,
.card-header .elementor-shortcode > .primary-btn > a::before {
    content: "+";

    display: inline-block;

    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}


/* Hover */
.card-header .primary-btn > a:hover,
.card-header .elementor-shortcode > .primary-btn > a:hover {
    border-color: #2563eb;
    background: #2563eb;

    color: #fff !important;

    box-shadow: 0 2px 5px rgba(37, 99, 235, .18);
}


/* Clic */
.card-header .primary-btn > a:active,
.card-header .elementor-shortcode > .primary-btn > a:active {
    transform: translateY(1px);
    box-shadow: none;
}


/* Focus clavier */
.card-header .primary-btn > a:focus-visible,
.card-header .elementor-shortcode > .primary-btn > a:focus-visible {
    outline: none;

    box-shadow:
        0 0 0 3px rgba(59, 130, 246, .20);
}


/* ==========================================================
   CRM ALLIANCE — EDITION IN-PLACE GENERIQUE
   Statuts / états dans les tableaux
   Dashboard / Clients / Devis / Installations / SAV
   ========================================================== */


/* ==========================================================
   CONTENEUR D'AFFICHAGE NORMAL
   ========================================================== */

.crm-inline-status,
.crm-inline-etat,
.crm-inline-display {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}


/* Lien crayon */
.crm-status-edit-link,
.crm-etat-edit-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 24px;
    height: 24px;

    padding: 0;

    border-radius: 5px;

    color: #98a2b3 !important;
    background: transparent;

    font-size: 12px;
    line-height: 1;

    text-decoration: none !important;

    opacity: .45;

    transition:
        opacity .15s ease,
        color .15s ease,
        background-color .15s ease;
}

.crm-status-edit-link:hover,
.crm-etat-edit-link:hover {
    color: #2563eb !important;
    background: #eef4ff;

    opacity: 1;
}


/* ==========================================================
   CELLULES QUI PEUVENT RECEVOIR UNE EDITION IN-PLACE
   ========================================================== */

.crm-client-status-cell,
.crm-devis-status-cell,
.crm-installation-status-cell,
.crm-sav-status-cell,
.crm-inline-edit-cell {
    position: relative;

    overflow: visible !important;
}


/* ==========================================================
   BOITE FLOTTANTE FORMIDABLE
   ========================================================== */

.crm-client-status-cell .frm_forms,
.crm-devis-status-cell .frm_forms,
.crm-installation-status-cell .frm_forms,
.crm-sav-status-cell .frm_forms,
.crm-inline-edit-cell .frm_forms {

    position: absolute !important;

    z-index: 1000;

    top: calc(100% + 5px);
    left: 0;

    width: 280px;
    max-width: calc(100vw - 30px);

    margin: 0 !important;
    padding: 10px !important;

    border: 1px solid #d8dee8;
    border-radius: 7px;

    background: #fff;

    box-shadow:
        0 10px 30px rgba(15, 23, 42, .14);
}


/* ==========================================================
   RESET DU MINI-FORMULAIRE
   ========================================================== */

.crm-client-status-cell .frm_forms fieldset,
.crm-devis-status-cell .frm_forms fieldset,
.crm-installation-status-cell .frm_forms fieldset,
.crm-sav-status-cell .frm_forms fieldset,
.crm-inline-edit-cell .frm_forms fieldset {
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}


.crm-client-status-cell .frm_forms h3,
.crm-client-status-cell .frm_forms label,

.crm-devis-status-cell .frm_forms h3,
.crm-devis-status-cell .frm_forms label,

.crm-installation-status-cell .frm_forms h3,
.crm-installation-status-cell .frm_forms label,

.crm-sav-status-cell .frm_forms h3,
.crm-sav-status-cell .frm_forms label,

.crm-inline-edit-cell .frm_forms h3,
.crm-inline-edit-cell .frm_forms label {
    display: none !important;
}


.crm-client-status-cell .frm_form_field,
.crm-devis-status-cell .frm_form_field,
.crm-installation-status-cell .frm_form_field,
.crm-sav-status-cell .frm_form_field,
.crm-inline-edit-cell .frm_form_field {
    margin: 0 0 8px !important;
    padding: 0 !important;
}


/* ==========================================================
   SELECT
   ========================================================== */

.crm-client-status-cell .frm_forms select,
.crm-devis-status-cell .frm_forms select,
.crm-installation-status-cell .frm_forms select,
.crm-sav-status-cell .frm_forms select,
.crm-inline-edit-cell .frm_forms select {

    box-sizing: border-box;

    width: 100% !important;
    min-height: 35px;

    margin: 0 !important;
    padding: 6px 30px 6px 9px;

    border: 1px solid #d5dde8;
    border-radius: 6px;

    background: #fff;

    color: #253047;

    font-size: 12px !important;

    box-shadow: none;
}


.crm-client-status-cell .frm_forms select:focus,
.crm-devis-status-cell .frm_forms select:focus,
.crm-installation-status-cell .frm_forms select:focus,
.crm-sav-status-cell .frm_forms select:focus,
.crm-inline-edit-cell .frm_forms select:focus {
    outline: none;

    border-color: #8bb4ff;

    box-shadow:
        0 0 0 3px rgba(59, 130, 246, .10);
}


/* ==========================================================
   ZONE ACTIONS : ANNULER + MISE A JOUR
   ========================================================== */

.crm-client-status-cell .frm_submit,
.crm-devis-status-cell .frm_submit,
.crm-installation-status-cell .frm_submit,
.crm-sav-status-cell .frm_submit,
.crm-inline-edit-cell .frm_submit {

    display: flex !important;
    align-items: center;
    justify-content: flex-end;

    gap: 7px;

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;
}


/* Bouton Mise à jour */
.crm-client-status-cell .frm_button_submit,
.crm-devis-status-cell .frm_button_submit,
.crm-installation-status-cell .frm_button_submit,
.crm-sav-status-cell .frm_button_submit,
.crm-inline-edit-cell .frm_button_submit {

    flex: 1 1 auto;

    width: auto !important;
    min-height: 34px;

    margin: 0 !important;
    padding: 7px 10px !important;

    border: 1px solid #3478f6;
    border-radius: 6px;

    background: #3b82f6;

    color: #fff;

    font-size: 12px !important;
    font-weight: 600;

    box-shadow: none;

    cursor: pointer;
}


.crm-client-status-cell .frm_button_submit:hover,
.crm-devis-status-cell .frm_button_submit:hover,
.crm-installation-status-cell .frm_button_submit:hover,
.crm-sav-status-cell .frm_button_submit:hover,
.crm-inline-edit-cell .frm_button_submit:hover {
    border-color: #2563eb;

    background: #2563eb;
}

.crm-table-wrapper .frm_edit_link_container a {
  width: auto;
}


/* ==========================================================
   LIEN ANNULER FORMIDABLE
   ========================================================== */

/*
 * Formidable génère généralement un lien de retour /
 * annulation pendant l'édition in-place.
 * On couvre volontairement plusieurs classes possibles.
 */

.crm-client-status-cell .frm_cancel_edit,
.crm-client-status-cell .frm_cancel,
.crm-client-status-cell .frm_cancel_link,

.crm-devis-status-cell .frm_cancel_edit,
.crm-devis-status-cell .frm_cancel,
.crm-devis-status-cell .frm_cancel_link,

.crm-installation-status-cell .frm_cancel_edit,
.crm-installation-status-cell .frm_cancel,
.crm-installation-status-cell .frm_cancel_link,

.crm-sav-status-cell .frm_cancel_edit,
.crm-sav-status-cell .frm_cancel,
.crm-sav-status-cell .frm_cancel_link,

.crm-inline-edit-cell .frm_cancel_edit,
.crm-inline-edit-cell .frm_cancel,
.crm-inline-edit-cell .frm_cancel_link {

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    min-height: 34px;

    margin: 0 !important;
    padding: 7px 10px !important;

    border: 1px solid #d5dde8;
    border-radius: 6px;

    background: #fff;

    color: #526078 !important;

    font-size: 12px;
    font-weight: 600;
    line-height: 1;

    text-decoration: none !important;

    cursor: pointer;
}


.crm-client-status-cell .frm_cancel_edit:hover,
.crm-client-status-cell .frm_cancel:hover,
.crm-client-status-cell .frm_cancel_link:hover,

.crm-devis-status-cell .frm_cancel_edit:hover,
.crm-devis-status-cell .frm_cancel:hover,
.crm-devis-status-cell .frm_cancel_link:hover,

.crm-installation-status-cell .frm_cancel_edit:hover,
.crm-installation-status-cell .frm_cancel:hover,
.crm-installation-status-cell .frm_cancel_link:hover,

.crm-sav-status-cell .frm_cancel_edit:hover,
.crm-sav-status-cell .frm_cancel:hover,
.crm-sav-status-cell .frm_cancel_link:hover,

.crm-inline-edit-cell .frm_cancel_edit:hover,
.crm-inline-edit-cell .frm_cancel:hover,
.crm-inline-edit-cell .frm_cancel_link:hover {
    border-color: #bcc8d8;

    background: #f5f8fc;

    color: #2563eb !important;
}


/* ==========================================================
   CONTENU ORIGINAL CACHE PAR FORMIDABLE
   ========================================================== */

.frm_orig_content {
    /* On laisse Formidable le gérer lui-même. */
}


/* ==========================================================
   OPTION : BOITE VERS LA DROITE POUR LES CELLULES
   PROCHES DU BORD DROIT
   ========================================================== */

.crm-devis-status-cell .frm_forms,
.crm-installation-status-cell .frm_forms,
.crm-sav-status-cell .frm_forms {
    left: auto;
    right: 0;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 650px) {

    .crm-client-status-cell .frm_forms,
    .crm-devis-status-cell .frm_forms,
    .crm-installation-status-cell .frm_forms,
    .crm-sav-status-cell .frm_forms,
    .crm-inline-edit-cell .frm_forms {

        left: 0;
        right: auto;

        width: min(280px, calc(100vw - 24px));
    }
}

.crm-installation-status-cell .frm_forms {
    position: absolute !important;

    z-index: 1000;

    top: calc(100% + 5px);
    right: 0;
    left: auto;

    width: 280px;

    padding: 10px 10px 52px !important;
}


/* ==========================================================
   CRM — CORRECTIF IN-PLACE INSTALLATIONS
   Aligne le rendu sur celui du Dashboard
   À placer APRÈS tous les autres CSS Formidable / Installation
   ========================================================== */


/* ----------------------------------------------------------
   1. BOÎTE
   ---------------------------------------------------------- */

.crm-installation-status-cell .frm_forms {
    box-sizing: border-box !important;

    width: 280px !important;

    margin: 0 !important;
    padding: 10px !important;
}


/* ----------------------------------------------------------
   2. RESET DES CONTENEURS FORMIDABLE
   Supprime les espacements hérités du formulaire Installation
   ---------------------------------------------------------- */

.crm-installation-status-cell .frm_forms .frm_form_fields,
.crm-installation-status-cell .frm_forms .frm_fields_container,
.crm-installation-status-cell .frm_forms fieldset {
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}


/* Formidable peut appliquer une grille au formulaire
   frm_installations : on l'annule uniquement dans le tableau */

.crm-installation-status-cell
#form_frm_installations
.frm_fields_container {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    row-gap: 0 !important;
    column-gap: 0 !important;
}


/* ----------------------------------------------------------
   3. CHAMP ÉTAT
   ---------------------------------------------------------- */

.crm-installation-status-cell
#frm_field_171_container {
    display: block !important;

    width: 100% !important;

    margin: 0 0 8px !important;
    padding: 0 !important;

    border: 0 !important;
}


/* Select identique au Dashboard */

.crm-installation-status-cell
#field_ins_etat {
    box-sizing: border-box !important;

    display: block !important;

    width: 100% !important;
    min-height: 35px !important;

    margin: 0 !important;
    padding: 6px 30px 6px 9px !important;

    border: 1px solid #d5dde8 !important;
    border-radius: 6px !important;

    background: #fff !important;

    box-shadow: none !important;

    font-size: 12px !important;
    line-height: 1.35 !important;
}


/* ----------------------------------------------------------
   4. SUPPRESSION DE LA LIGNE DE SÉPARATION
   ET DES ESPACEMENTS DU SUBMIT
   ---------------------------------------------------------- */

.crm-installation-status-cell
#form_frm_installations
.frm_submit {
    position: static !important;

    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-top: 0 !important;

    background: transparent !important;

    min-height: 0 !important;
}


/* ----------------------------------------------------------
   5. BOUTON
   ---------------------------------------------------------- */

.crm-installation-status-cell
#form_frm_installations
.frm_button_submit {
    display: block !important;

    box-sizing: border-box !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 34px !important;

    margin: 0 !important;
    padding: 7px 10px !important;

    border: 1px solid #3478f6 !important;
    border-radius: 6px !important;

    background: #3b82f6 !important;

    color: #fff !important;

    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    box-shadow: none !important;
}


/* ----------------------------------------------------------
   6. SUPPRESSION DES ESPACEMENTS PARASITES
   ---------------------------------------------------------- */

.crm-installation-status-cell
#form_frm_installations
.frm_fields_container > br,

.crm-installation-status-cell
#form_frm_installations
.frm_submit br {
    display: none !important;
}


/* ==========================================================
   CRM — CORRECTIF IN-PLACE DEVIS
   Aligne le rendu sur Dashboard / Installations
   À placer APRÈS tous les autres CSS Devis / Formidable
   ========================================================== */


/* ----------------------------------------------------------
   1. BOÎTE
   ---------------------------------------------------------- */

.crm-devis-status-cell .frm_forms {
    box-sizing: border-box !important;

    width: 280px !important;

    margin: 0 !important;
    padding: 10px !important;
}


/* ----------------------------------------------------------
   2. RESET DES CONTENEURS FORMIDABLE
   ---------------------------------------------------------- */

.crm-devis-status-cell .frm_forms .frm_form_fields,
.crm-devis-status-cell .frm_forms .frm_fields_container,
.crm-devis-status-cell .frm_forms fieldset {
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}


/*
 * Très important :
 * frm_devis possède beaucoup de CSS ailleurs dans le CRM.
 * Dans cette mini édition, on neutralise sa grille.
 */

.crm-devis-status-cell
#form_frm_devis
.frm_fields_container {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    row-gap: 0 !important;
    column-gap: 0 !important;
}


/* ----------------------------------------------------------
   3. SECTION FORMIDABLE ÉVENTUELLE
   ---------------------------------------------------------- */

/*
 * dev_statut appartient probablement à une section du devis.
 * Elle ne doit rien ajouter visuellement dans la popover.
 */

.crm-devis-status-cell
#form_frm_devis
.frm_section_heading {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;
}


/* Titre de section et label déjà inutiles */
.crm-devis-status-cell
#form_frm_devis
.frm_section_heading > h3,

.crm-devis-status-cell
#form_frm_devis
.frm_primary_label {
    display: none !important;
}


/* ----------------------------------------------------------
   4. CHAMP STATUT 226
   ---------------------------------------------------------- */

.crm-devis-status-cell
#frm_field_226_container {
    display: block !important;

    width: 100% !important;

    margin: 0 0 8px !important;
    padding: 0 !important;

    border: 0 !important;

    float: none !important;
    clear: none !important;
}


/* Select */
.crm-devis-status-cell
#frm_field_226_container select {
    box-sizing: border-box !important;

    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    min-height: 35px !important;

    margin: 0 !important;
    padding: 6px 30px 6px 9px !important;

    border: 1px solid #d5dde8 !important;
    border-radius: 6px !important;

    background: #fff !important;

    color: #253047 !important;

    font-size: 12px !important;
    line-height: 1.35 !important;

    box-shadow: none !important;
}


/* ----------------------------------------------------------
   5. SUBMIT
   ---------------------------------------------------------- */

.crm-devis-status-cell
#form_frm_devis
.frm_submit {
    position: static !important;

    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-top: 0 !important;

    background: transparent !important;

    min-height: 0 !important;
}


/* Bouton */
.crm-devis-status-cell
#form_frm_devis
.frm_button_submit {
    display: block !important;

    box-sizing: border-box !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 34px !important;

    margin: 0 !important;
    padding: 7px 10px !important;

    border: 1px solid #3478f6 !important;
    border-radius: 6px !important;

    background: #3b82f6 !important;

    color: #fff !important;

    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    box-shadow: none !important;
}


/* ----------------------------------------------------------
   6. NETTOYAGE ÉLÉMENTS PARASITES
   ---------------------------------------------------------- */

.crm-devis-status-cell
#form_frm_devis
.frm_fields_container > br,

.crm-devis-status-cell
#form_frm_devis
.frm_submit br,

.crm-devis-status-cell
.frm_edit_link_container br {
    display: none !important;
}

.crm-devis-status-cell
#form_frm_devis
.frm_form_field:not(#frm_field_226_container):not(#frm_field_239_container) {
    display: none !important;
}

/* Section parente du statut :
   on la conserve mais on la neutralise visuellement */

.crm-devis-status-cell
#form_frm_devis
#frm_field_239_container {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    background: transparent !important;
}


/* Titre "Identification du devis" inutile ici */

.crm-devis-status-cell
#form_frm_devis
#frm_field_239_container > h3 {
    display: none !important;
}

/*Suppression des margin et padding */

.crm-devis-inline-status #form_frm_devis .frm_fields_container > .frm_submit {
  margin: 0 !important;
  padding: 0 !important;
}