.hdrd { --hdrd-accent: #1d5fa8; --hdrd-ligne: rgba(127,127,127,.25); --hdrd-zebre: rgba(127,127,127,.07); margin: 1.5em 0; }
.hdrd-entete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5em 1.5em; margin-bottom: 1em; }
.hdrd-entete p { margin: 0; }
.hdrd-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5em 1em; }
.hdrd-bouton { display: inline-block; padding: .6em 1.1em; border-radius: 4px; background: var(--hdrd-accent); color: #fff !important; text-decoration: none !important; font-weight: 600; }
.hdrd-bouton:hover, .hdrd-bouton:focus { filter: brightness(1.12); }
.hdrd-outils { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6em 1.5em; margin: 0 0 .8em; }
.hdrd-filtre { display: flex; align-items: center; gap: .6em; margin: 0; flex: 1 1 18em; max-width: 26em; }
.hdrd-tri { display: flex; align-items: center; gap: .4em; flex-wrap: wrap; }
.hdrd-tri span { margin-right: .2em; }
.hdrd-tri button { margin: 0; padding: .4em .9em; border: 1px solid var(--hdrd-accent); border-radius: 4px; background: transparent; color: var(--hdrd-accent); font: inherit; cursor: pointer; line-height: 1.3; text-transform: none; letter-spacing: normal; }
.hdrd-tri button[aria-pressed="true"] { background: var(--hdrd-accent); color: #fff; }
.hdrd-tri button:focus-visible, .hdrd-table th:focus-visible { outline: 2px solid var(--hdrd-accent); outline-offset: 2px; }
.hdrd-filtre input { flex: 1; min-width: 0; padding: .45em .6em; font-size: 1em; }
.hdrd-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.hdrd-table { width: 100%; border-collapse: collapse; font-size: .95em; margin: 0; }
.hdrd-table th, .hdrd-table td { padding: .45em .7em; border-bottom: 1px solid var(--hdrd-ligne); text-align: left; white-space: nowrap; }
.hdrd-table tbody tr:nth-child(even) { background: var(--hdrd-zebre); }
.hdrd-table th { cursor: pointer; white-space: nowrap; user-select: none; position: relative; padding-right: 1.4em; }
.hdrd-table th.hdrd-nosort { cursor: default; }
.hdrd-table th:not(.hdrd-nosort)::after { content: "⇅"; position: absolute; right: .4em; font-size: .8em; opacity: .35; }
.hdrd-table th[aria-sort="ascending"]::after { content: "▲"; opacity: 1; font-size: .7em; }
.hdrd-table th[aria-sort="descending"]::after { content: "▼"; opacity: 1; font-size: .7em; }
.hdrd-num { font-variant-numeric: tabular-nums; text-align: right !important; }
.hdrd-call { font-weight: 600; font-family: ui-monospace, Menlo, Consolas, monospace; }
.hdrd-note { margin: 1em 0 0; }
.hdrd-erreur { padding: .8em 1em; border-left: 4px solid #c0392b; background: rgba(192,57,43,.08); }
