/** Remove margin bottom for last <p> to avoid extra space with tinymce **/
#stamina-invoicing-invoiceable-lines tr td p:last-child {
	margin-bottom: 0;
}

/** Ellipsis the group header **/
.stamina-invoicing-lines-group-header {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0; /* indispensable pour que le titre se tronque et cède sa place à la barre (header en flex-nowrap) */
	max-width: 420px;
	height: 25px;
}

.stamina-invoicing-line-header {
    background-color: var(--bs-card-bg) !important;
}

/** Offcanvas de ligne : les champs posent directement sur le fond gris de la
    modale, donc fond BLANC forcé (inputs, selects, bootstrap-select, addons),
    y compris readonly/disabled — identifiables par leur texte grisé. **/
.offcanvas .stamina-invoicing-line-fields .form-control,
.offcanvas .stamina-invoicing-line-fields .form-select,
.offcanvas .stamina-invoicing-line-fields .bootstrap-select > .dropdown-toggle,
.offcanvas .stamina-invoicing-line-fields .input-group-text {
    background-color: #fff !important;
    border: 1px solid #e8e8ea !important;
}

/** ── Ancre de calcul de ligne ────────────────────────────────────────────────
    Le champ ancré (celui dont le montant est garanti) est signalé par un simple liseré,
    sans pastille ni infobulle : le repère doit se remarquer sans se faire lire.
    Le liseré est en border + padding + marge négative (et non en box-shadow) pour rester
    DANS la boîte d'origine : il n'est ainsi jamais rogné par l'overflow de l'offcanvas
    quand le champ touche le bord droit du panneau, et la mise en page ne bouge pas. **/
.stamina-invoicing-pivot-host {
    position: relative;
    border: 2px solid rgba(var(--bs-primary-rgb), .45);
    border-radius: .65rem;
    padding: 2px;
    margin: -4px;
}

/** ── Champs figés par le verrouillage de la pièce ────────────────────────────
    Sur une pièce verrouillée, les champs à incidence fiscale sont rendus `disabled`.
    Encore faut-il que ça se voie : deux règles annulaient l'apparence désactivée.

    Le thème pose `.form-control { color: … !important }`, ce qui écrase la couleur
    grisée de Bootstrap ; et la règle de fond blanc du panneau (plus haut dans ce
    fichier) force `background-color: #fff !important` sur les selects et les suffixes.
    Un champ désactivé prenait donc exactement l'apparence d'un champ actif —
    l'utilisateur cliquait, ne pouvait pas saisir, et n'avait aucune explication.

    D'où le `!important` ici : il ne sert pas à gagner une surenchère de spécificité,
    il annule deux `!important` existants. Le curseur `not-allowed` complète le signal
    avant même la tentative de frappe. **/
.offcanvas .stamina-invoicing-line-fields .form-control:disabled,
.offcanvas .stamina-invoicing-line-fields .form-select:disabled,
.offcanvas .stamina-invoicing-line-fields textarea:disabled,
.offcanvas .stamina-invoicing-line-fields select:disabled {
    color: var(--bs-gray-500) !important;
    background-color: var(--bs-gray-200) !important;
    border-color: var(--bs-gray-300) !important;
    cursor: not-allowed;
    opacity: 1;
}

/** Le suffixe d'unité (€, %) accolé à un champ figé doit suivre, sinon la moitié du
    groupe reste blanche et l'ensemble paraît actif. **/
.offcanvas .stamina-invoicing-line-fields .form-control:disabled + .input-group-text,
.offcanvas .stamina-invoicing-line-fields .form-select:disabled + .input-group-text {
    color: var(--bs-gray-500) !important;
    background-color: var(--bs-gray-200) !important;
    border-color: var(--bs-gray-300) !important;
    cursor: not-allowed;
}


/** Sur une pièce verrouillée, quelques champs restent en `readonly` plutôt qu'en
    `disabled` : les totaux avec remise (calculés) et le taux de marge, non mappé et
    lu par le contrôleur Stimulus — le passer en `disabled` le retirerait de la
    soumission. Ils doivent malgré tout avoir l'apparence figée, sinon la moitié du
    panneau semble encore saisissable. Réglé ici et pas globalement : hors verrouillage,
    la recherche d'article est elle aussi `readonly` et doit rester d'aspect actif. **/
.offcanvas .stamina-invoicing-line-locked .form-control[readonly],
.offcanvas .stamina-invoicing-line-locked .form-control[readonly] + .input-group-text {
    color: var(--bs-gray-500) !important;
    background-color: var(--bs-gray-200) !important;
    border-color: var(--bs-gray-300) !important;
    cursor: not-allowed;
    opacity: 1;
}
