/* Brio'gel — styles globaux obligatoires + composants de l'appli Réclamations.
   Les couleurs passent par des variables reprenant les tokens de la charte. */
:root {
  --bg: #fbf9f8; --outline-variant: #c8c8ae; --primary: #5b6400; --primary-container: #b5c600;
  --primary-fixed: #dbee3b; --primary-fixed-dim: #bfd118; --sidebar-hover: #474746; --nav-text: #c8c6c5;
}
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; vertical-align: middle; }
.crust-shadow { box-shadow: 0 10px 30px -5px rgba(141, 110, 99, 0.08); transition: box-shadow .2s, transform .2s; }
.crust-shadow:hover { box-shadow: 0 20px 40px -10px rgba(141, 110, 99, 0.12); }
.crust-shadow.lift:hover { transform: translateY(-2px); }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--outline-variant); border-radius: 10px; }
h1, h2, h3, h4, .font-headline { font-family: "Plus Jakarta Sans", sans-serif; }

.nav-item { display: flex; align-items: center; gap: .75rem; color: var(--nav-text); padding: .75rem 1rem; border-radius: .5rem; transition: background-color .15s, color .15s; }
.nav-item:hover { background: var(--sidebar-hover); color: var(--primary-fixed-dim); }
.nav-actif { display: flex; align-items: center; gap: .75rem; background: rgb(219 238 59 / .1); color: var(--primary-fixed); border-left: 4px solid var(--primary-fixed); padding: .75rem 1rem; border-radius: 0 .5rem .5rem 0; }

.champ-label { display: block; font-size: .75rem; line-height: 1rem; font-weight: 700; color: #474834; text-transform: uppercase; letter-spacing: .04em; margin-bottom: .5rem; }
.champ-erreur input, .champ-erreur select, .champ-erreur textarea { border-color: #ba1a1a !important; }
.htmx-indicator { opacity: 0; transition: opacity .2s; }
.htmx-request .htmx-indicator, .htmx-request.htmx-indicator { opacity: 1; }
.table-recl tbody tr { cursor: pointer; }
details > summary { list-style: none; } details > summary::-webkit-details-marker { display: none; }
.prose-pre { white-space: pre-line; }
