h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

/*    .blazor-error-boundary::after {
        content: "Une erreur non pr�vue est survenue."
    }*/

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

/* .navbar en plus pour passer devant .topColor de legilog.css (framework), chargé après app.css */
.navbar.topColor {
    background: #3d8b26;
}

/* Focus et cases cochées aux couleurs de Denier (comme la page de connexion), pour tous les contrôles.
   Préfixe body : passe devant legilog.css (framework), chargé après app.css, qui met un focus bleu aux contrôles Telerik */
body .form-control:focus,
body .k-input.k-focus,
body .k-input:focus-within,
body .k-picker.k-focus,
body .k-picker:focus-within,
body .k-input.k-textbox .k-focus,
body .k-input .k-textbox:focus,
body .k-textarea .k-focus,
body .k-textarea:focus,
body .k-textbox .k-focus,
body .k-textbox:focus,
body .k-numerictextbox .k-focus,
body .k-datepicker .k-focus,
body .k-datetimepicker .k-focus,
body .k-checkbox:focus + .k-checkbox-label::before,
body .k-dropdown .k-focus,
body .k-combobox .k-focus {
    border-color: #3d8b26;
    box-shadow: 0 0 0 .2rem rgba(61, 139, 38, .25);
}

/* cases cochées, et « tout cocher » partiel des grilles ([-] : une partie des lignes cochées), en vert au lieu du bleu du thème */
body .custom-control-input:checked ~ .custom-control-label::before,
body .k-checkbox:checked,
body .k-checkbox.k-checked,
body .k-checkbox:indeterminate,
body .k-checkbox.k-indeterminate {
    background-color: #3d8b26;
    border-color: #3d8b26;
}

body .custom-control-input:focus ~ .custom-control-label::before,
body .k-checkbox:focus {
    box-shadow: 0 0 0 .2rem rgba(61, 139, 38, .25);
}

body .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #3d8b26;
}

/* cases et boutons radio natifs */
body input[type=checkbox],
body input[type=radio] {
    accent-color: #3d8b26;
}
/* Items des menus déroulants (Paramétrages…) : vert au lieu du bleu de Bootstrap */
body .dropdown-item:hover,
body .dropdown-item:focus {
    background-color: rgba(61, 139, 38, .12);
    color: #3d8a22;
}

body .dropdown-item.active,
body .dropdown-item:active {
    background-color: #3d8b26;
    color: #fff;
}
/* Grilles dont la ligne ouvre une fiche (Class="liste-cliquable") */
body .liste-cliquable tbody tr {
    cursor: pointer;
}

/* Ligne sélectionnée des grilles Telerik : vert pâle au lieu du bleu du thème.
   Mêmes sélecteurs que le thème (Telerik 15, .k-table-td:not(.k-group-cell)), sinon il garde la priorité */
body .k-grid .k-table-td.k-selected:not(.k-group-cell),
body .k-grid .k-table-row.k-selected > .k-table-td:not(.k-group-cell),
body .k-grid-stack-cell.k-selected {
    background-color: rgba(61, 139, 38, .18);
}

/* Élément sélectionné des arbres Telerik (TreeView) : vert pâle comme la ligne sélectionnée des grilles, au lieu du fond bleu
   et du texte blanc du thème (.k-treeview-item-content.k-selected = --kendo-color-primary / --kendo-color-on-primary) */
body .k-treeview .k-treeview-item-content.k-selected {
    border-color: transparent;
    background-color: rgba(61, 139, 38, .18);
    color: inherit;
}

body .k-treeview .k-treeview-item-content.k-selected:hover,
body .k-treeview .k-treeview-item-content.k-selected.k-hover {
    background-color: rgba(61, 139, 38, .28);
}

/* case cochée d'un élément sélectionné : le thème l'inverse (fond blanc, coche bleue) ; on garde la case verte */
body .k-treeview .k-treeview-item-content.k-selected .k-checkbox:checked,
body .k-treeview .k-treeview-item-content.k-selected .k-checkbox.k-checked,
body .k-treeview .k-treeview-item-content.k-selected .k-checkbox:indeterminate,
body .k-treeview .k-treeview-item-content.k-selected .k-checkbox.k-indeterminate {
    border-color: #28a745;
    background-color: #28a745;
    color: #fff;
}

/* Arbres des critères (paramétrage, fiche contact) : dans un cadre comme les grilles,
   texte à la taille de la page (le thème le réduit) et lignes aérées ; validé par l'utilisateur le 14/10/2026 */
body .arbre-criteres {
    border: 1px solid #dee2e6;
    border-radius: .25rem;
    background-color: #fff;
    padding: .5rem;
}

body .arbre-criteres .k-treeview {
    font-size: 1rem;
}

body .arbre-criteres .k-treeview-leaf {
    padding: .35rem .75rem;
    border-radius: .25rem;
}

/* colonnes figées : la couleur passe par un ::before */
body .k-grid .k-master-row.k-table-row.k-selected .k-grid-content-sticky::before,
body .k-grid .k-master-row.k-table-row.k-selected.k-grid-row-sticky > .k-table-td::before {
    background-color: rgba(61, 139, 38, .18);
}

/* Numéros de page des grilles : vert au lieu du bleu du thème (boutons flat primary, color = --kendo-color-primary-on-surface) ;
   le fond de la page courante et du survol est un ::before en currentColor, donc vert pâle comme la ligne sélectionnée */
body .k-pager .k-pager-numbers .k-button.k-button-flat {
    color: #28a745;
}

body .k-pager .k-pager-numbers .k-button.k-selected::before {
    background: #3d8b26;
    opacity: .18;
}

/* Liens au vert des boutons au lieu du bleu de legilog.css (a, .btn-link : #0366d6) ; survol comme a.text-success de Bootstrap 4.3.1.
   Les liens qui ont leur propre couleur (menu, .dropdown-item, cartes de l'accueil) gardent la leur : sélecteurs plus précis */
body a,
body .btn-link {
    color: #28a745;
}

body a:hover,
body .btn-link:hover {
    color: #19692c;
}

/* Boutons primary au vert de btn-success (Bootstrap 4.3.1) ; préfixe body : passe devant le bleu de legilog.css (framework) */
body .btn-primary,
body .btn-primary.disabled,
body .btn-primary:disabled {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
}

body .btn-primary:hover,
body .btn-primary:focus,
body .btn-primary.focus {
    color: #fff;
    background-color: #218838;
    border-color: #1e7e34;
}

body .btn-primary:not(:disabled):not(.disabled):active,
body .btn-primary:not(:disabled):not(.disabled).active {
    color: #fff;
    background-color: #1e7e34;
    border-color: #1c7430;
}

body .btn-primary:focus,
body .btn-primary.focus,
body .btn-primary:not(:disabled):not(.disabled):active:focus,
body .btn-primary:not(:disabled):not(.disabled).active:focus {
    box-shadow: 0 0 0 .2rem rgba(72, 180, 97, .5);
}

/* Boutons outline primary : comme btn-outline-success */
body .btn-outline-primary,
body .btn-outline-primary.disabled,
body .btn-outline-primary:disabled {
    color: #28a745;
    border-color: #28a745;
    background-color: transparent;
}

body .btn-outline-primary:hover,
body .btn-outline-primary:not(:disabled):not(.disabled):active,
body .btn-outline-primary:not(:disabled):not(.disabled).active {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
}

body .btn-outline-primary:focus,
body .btn-outline-primary.focus,
body .btn-outline-primary:not(:disabled):not(.disabled):active:focus,
body .btn-outline-primary:not(:disabled):not(.disabled).active:focus {
    box-shadow: 0 0 0 .2rem rgba(40, 167, 69, .5);
}

/* Bouton bleu de barre de grille (ex. « Bordereau » des lots, à côté du vert « Imprimer ») : même modèle que les legilog-success / warning / danger
   du framework (legilog.css), au bleu info de Bootstrap 4.3.1 */
body .legilog-info {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8;
}

body .legilog-info:hover {
    color: #fff;
    background-color: #138496;
    border-color: #117a8b;
}

/* Bouton bleu au contour (« Afficher » la fiche d'un contact depuis une liste) : se remplit au survol */
body .legilog-info-outline {
    color: #17a2b8;
    background-color: transparent;
    background-image: none;
    border-color: #17a2b8;
}

body .legilog-info-outline:hover {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8;
}

/* Boutons de barre de grille désactivés, quelle que soit leur couleur : très pâles (fond presque blanc, texte clair),
   pour ne pas ressembler à un bouton neutre actif (« Exporter ») ni à une couleur délavée qui a l'air encore cliquable */
body .k-grid-toolbar .k-button.k-disabled,
body .k-grid-toolbar .k-button:disabled,
body .k-grid-toolbar .k-button[disabled] {
    color: #adb5bd;
    background-color: #f8f9fa;
    background-image: none;
    border-color: #e9ecef;
    box-shadow: none;
    opacity: 1;
}

/* Éléments sélectionnés des listes Telerik (MultiSelect des entités, ComboBox, DropDownList…) : vert Bootstrap au lieu du primary bleu du thème */
body .k-list-item.k-selected,
body .k-list-custom-value.k-selected,
body .k-list-optionlabel.k-selected {
    color: #fff;
    background-color: #28a745;
}

body .k-list-item.k-selected:hover,
body .k-list-item.k-selected.k-hover,
body .k-list-custom-value.k-selected:hover,
body .k-list-custom-value.k-selected.k-hover,
body .k-list-optionlabel.k-selected:hover,
body .k-list-optionlabel.k-selected.k-hover {
    color: #fff;
    background-color: #218838;
}

/* Calendriers Telerik (TelerikCalendar, popup des DatePicker) : vert Bootstrap au lieu du bleu du thème (jour sélectionné,
   aujourd'hui, survol de la navigation, lien « Aujourd'hui »). Toutes les variables sont redéfinies : le thème calcule
   les dérivées (hover, on-surface…) sur :root, changer seulement --kendo-color-primary ne les suivrait pas */
body .k-calendar {
    --kendo-color-primary: #28a745;
    --kendo-color-primary-hover: #218838;
    --kendo-color-primary-active: #1e7e34;
    --kendo-color-primary-on-surface: #28a745;
    --kendo-color-on-primary: #fff;
    --kendo-color-primary-subtle: #d4edda;
    --kendo-color-primary-subtle-hover: #c3e6cb;
    --kendo-color-primary-subtle-active: #b1dfbb;
    --kendo-color-primary-on-subtle: #155724;
    --kendo-color-primary-emphasis: rgba(40, 167, 69, .4);
}

/* Listes natives (<select class="form-control"> : LegilogDtoDropDownList, LegilogEnumDropDownList, filtres de Contacts) :
   la liste dépliée est dessinée par le navigateur, en bleu. Chrome/Edge récents permettent de la styler (appearance: base-select) ;
   ailleurs (Firefox) la liste native reste telle quelle. Mêmes couleurs que les menus déroulants et les listes Telerik */
@supports (appearance: base-select) {
    body select.form-control:not([multiple]):not([size]),
    body select.form-control:not([multiple]):not([size])::picker(select) {
        appearance: base-select;
    }

    /* .form-control (display: block) empilait le texte et la flèche : flex, flèche poussée à droite */
    body select.form-control:not([multiple]):not([size]) {
        display: flex;
        align-items: center;
    }

    body select.form-control:not([multiple]):not([size])::picker-icon {
        margin-inline-start: auto;
        padding-inline-start: .5rem;
    }

    body select.form-control:not([multiple]):not([size])::picker(select) {
        background-color: #fff;
        border: 1px solid rgba(0, 0, 0, .15);
        border-radius: .25rem;
        box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
        padding: .25rem 0;
    }

    body select.form-control option {
        padding: .25rem .75rem;
    }

    /* pas de coche devant l'option choisie : le fond vert suffit, comme dans les listes Telerik */
    body select.form-control option::checkmark {
        display: none;
    }

    body select.form-control option:hover,
    body select.form-control option:focus-visible {
        background-color: rgba(61, 139, 38, .12);
        color: #3d8a22;
        outline: none;
    }

    body select.form-control option:checked {
        background-color: #28a745;
        color: #fff;
    }

    body select.form-control option:checked:hover,
    body select.form-control option:checked:focus-visible {
        background-color: #218838;
        color: #fff;
    }
}

/* Champs date natifs (LegilogInputDatePicker = <input type="date">) : leur calendrier est dessiné par le navigateur,
   accent-color est le seul réglage, appliqué ou non selon le navigateur */
body input[type="date"],
body input[type="datetime-local"],
body input[type="month"] {
    accent-color: #28a745;
}

/* Boîtes de dialogue Telerik : bouton principal vert (Telerik 15 : classe k-button-primary) */
body .k-dialog .k-button-primary {
    background-color: #3d8b26;
    border-color: #3d8b26;
    color: #fff;
}

body .k-dialog .k-button-primary:hover,
body .k-dialog .k-button-primary:focus {
    background-color: #46962a;
    border-color: #46962a;
}
/* Confirmation de suppression (composant ConfirmationSuppression) : bandeau de titre et bouton Supprimer en rouge */
body .dialogue-suppression .k-window-titlebar,
body .dialogue-suppression .k-dialog-titlebar {
    background-color: #dc3545;
    border-color: #dc3545;
    color: #fff;
}

/* bandeau plus fin */
body .dialogue-suppression .k-window-titlebar,
body .dialogue-suppression .k-dialog-titlebar {
    padding: .35rem .75rem;
}

body .dialogue-suppression .k-window-title {
    font-size: 1rem;
    line-height: 1.4;
}

body .dialogue-suppression .k-window-titlebar .k-button {
    padding: .15rem;
}

body .dialogue-suppression .k-window-titlebar .k-button,
body .dialogue-suppression .k-window-titlebar .k-window-title {
    color: #fff;
}

body .dialogue-suppression .k-button-error {
    background-color: #dc3545;
    border-color: #dc3545;
    color: #fff;
}

body .dialogue-suppression .k-button-error:hover,
body .dialogue-suppression .k-button-error:focus {
    background-color: #c82333;
    border-color: #bd2130;
}
/* Groupe des notifications Telerik (MainLayout, classes « legilog-notification alert ») : il reste dans la page, en bas à droite,
   même vide, et le padding de .alert en faisait une boîte invisible qui avalait les clics (boutons du pied du panneau latéral).
   Le conteneur laisse passer les clics, seules les notifications affichées les reçoivent. */
body .k-notification-group.legilog-notification {
    pointer-events: none;
}

body .k-notification-group.legilog-notification:empty {
    padding: 0;
    border: 0;
}

body .k-notification-group.legilog-notification > * {
    pointer-events: auto;
}

/* messages sur plusieurs lignes (liste des erreurs de la fiche contact, erreurs du serveur) : retours à la ligne gardés */
body .k-notification-group.legilog-notification .k-notification-content {
    white-space: pre-line;
}
/* Filtre renseigné (Contacts : listes à 3 états, entités) : bordure verte, pour voir d'un coup d'œil ce qui restreint la recherche */
body select.form-control.filtre-actif,
body input.form-control.filtre-actif,
body .k-multiselect.filtre-actif,
body .k-input.filtre-actif {
    border-color: #3d8b26;
    box-shadow: inset 0 0 0 1px #3d8b26;
}

/* Onglets soulignés en vert, sans cadre : ceux du panneau latéral (paramétrages) et les TabStrip Class="onglets-soulignes" (fiche contact).
   !important : le thème Telerik a des sélecteurs plus précis selon le mode des onglets */
body .panneau-corps .k-tabstrip .k-tabstrip-items-wrapper,
body .k-tabstrip.onglets-soulignes .k-tabstrip-items-wrapper {
    border-color: #dee2e6 !important;
}

body .panneau-corps .k-tabstrip .k-tabstrip-item,
body .k-tabstrip.onglets-soulignes .k-tabstrip-item {
    border-width: 0 0 3px 0 !important;
    border-style: solid !important;
    border-color: transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    margin-right: 1.25rem;
}

body .panneau-corps .k-tabstrip .k-tabstrip-item .k-link,
body .k-tabstrip.onglets-soulignes .k-tabstrip-item .k-link {
    color: #6c757d;
    padding: .5rem .25rem;
}

body .panneau-corps .k-tabstrip .k-tabstrip-item:hover .k-link,
body .k-tabstrip.onglets-soulignes .k-tabstrip-item:hover .k-link {
    color: #3d8a22;
}

body .panneau-corps .k-tabstrip .k-tabstrip-item.k-active,
body .panneau-corps .k-tabstrip .k-tabstrip-item.k-selected,
body .k-tabstrip.onglets-soulignes .k-tabstrip-item.k-active,
body .k-tabstrip.onglets-soulignes .k-tabstrip-item.k-selected {
    border-bottom-color: #3d8b26 !important;
}

body .panneau-corps .k-tabstrip .k-tabstrip-item.k-active .k-link,
body .panneau-corps .k-tabstrip .k-tabstrip-item.k-selected .k-link,
body .k-tabstrip.onglets-soulignes .k-tabstrip-item.k-active .k-link,
body .k-tabstrip.onglets-soulignes .k-tabstrip-item.k-selected .k-link {
    color: #3d8a22;
}

/* overflow visible : le thème met overflow:auto, et les marges négatives des .row Bootstrap (-15px)
   faisaient apparaître une barre de défilement horizontale */
body .panneau-corps .k-tabstrip .k-tabstrip-content,
body .k-tabstrip.onglets-soulignes .k-tabstrip-content {
    overflow: visible !important;
    border: none !important;
    padding: 1.25rem 0;
    background: transparent;
}
