/* Pages « Badges » et « Cashback » de l'admin (refonte, écrans 4d et 4e, 29/10/2026) : barre de filtres, tableau, étiquettes d'origine et champs du panneau.
   Le préfixe .kbt- (kit « bornes et tarifs ») est partagé par admin-badges.js et admin-cashback.js ; admin-cashback.css ne contient que le propre du cashback. */

.kbt-pane { gap: 12px; }
/* barre de filtres : recherche 230 px, listes en « pastilles » de 34 px, bascule orange quand elle est active */
.kbt-filters { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.kbt-search { display: flex; align-items: center; gap: 7px; height: 34px; padding: 0 11px; border: 1px solid #E2DBD1; border-radius: 9px; background: #fff; width: 230px; box-sizing: border-box; color: #8A8178; }
.kbt-search:focus-within { border-color: #0B5C6B; }
.kbt-search svg { width: 14px; height: 14px; flex: 0 0 auto; }
.kbt-search input { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; font: 400 13px Archivo, sans-serif; color: #221E1A; padding: 0; }
.kbt-search input::placeholder { color: #8A8178; }
.kbt-chip { position: relative; display: flex; align-items: center; height: 34px; border: 1px solid #E2DBD1; border-radius: 9px; background: #fff; color: #3A342E; font-size: 13px; font-weight: 600; }
.kbt-chip select { -webkit-appearance: none; appearance: none; border: 0; background: transparent; height: 100%; padding: 0 30px 0 11px; font: 600 13px Archivo, sans-serif; color: inherit; cursor: pointer; border-radius: 9px; outline: 0; }
.kbt-chip::after { content: ""; position: absolute; right: 11px; top: 50%; width: 12px; height: 12px; margin-top: -6px; pointer-events: none; background: no-repeat center/12px url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A342E' stroke-width='2.6' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>"); }
.kbt-chip.on { border-color: #F3C98B; background: #FDF3E1; color: #8A5A07; }
.kbt-chip.on::after { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A5A07' stroke-width='2.6' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>"); }
.kbt-toggle { height: 34px; padding: 0 11px; border: 1px solid #E2DBD1; border-radius: 9px; background: #fff; color: #3A342E; font: 600 13px Archivo, sans-serif; cursor: pointer; white-space: nowrap; }
.kbt-toggle.on { border-color: #F3C98B; background: #FDF3E1; color: #8A5A07; }
.kbt-seg-fixed button { cursor: default; }
.kbt-seg-fixed button.on { color: #0B5C6B; }

/* tableau : colonnes à largeur fixée par <colgroup>, lignes de 42 px */
.table-wrap.kbt-t { overflow: auto; max-height: calc(100vh - var(--kbt-off, 330px)); min-height: 120px; }
.kbt-t table { table-layout: fixed; white-space: normal; width: 100%; font-size: 13.5px; color: #4E4740; border-collapse: collapse; }
.kbt-t thead th { position: sticky; top: 0; z-index: 1; padding: 10px 12px; text-align: left; line-height: 1.25; white-space: normal; overflow-wrap: break-word; }
.kbt-t thead th:first-child, .kbt-t tbody td:first-child { padding-left: 16px; }
.kbt-t tbody td { padding: 6px 12px; height: 42px; box-sizing: border-box; vertical-align: middle; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-bottom: 1px solid #F1ECE5; }
.kbt-t tbody tr:last-child td { border-bottom: 0; }
.kbt-t tbody tr[data-open] { cursor: pointer; }
.kbt-t tbody tr[data-open]:hover { background: #FBF9F6; }
.kbt-t tbody tr.ka-sel, .kbt-t tbody tr.ka-sel:hover { background: #FDEEF3; box-shadow: inset 3px 0 0 #E01B5D; }
.kbt-t td.r, .kbt-t th.r { text-align: right; }
.kbt-t td b { color: #221E1A; font-weight: 700; }
.kbt-t td.kbt-empty { text-align: center; color: #6F675E; padding: 28px 12px; height: auto; }
.kbt-op { display: flex; align-items: center; gap: 8px; min-width: 0; }
.kbt-op > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.kbt-logo { width: 22px; height: 22px; border-radius: 50%; flex: 0 0 auto; object-fit: contain; border: 1px solid #EDE8E1; background: #fff; box-sizing: border-box; }
.kbt-ini { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; flex: 0 0 auto; background: #EAE5DD; color: #6F675E; font-size: 11px; font-weight: 700; text-transform: uppercase; }
/* « Origine des prix » / « Mise à jour » : étiquette + ligne grise (source · date) */
.kbt-orig { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; max-width: 100%; }
.kbt-orig small { font-size: 11.5px; color: #6F675E; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* champs du panneau de droite : lecture seule en boîtes de 38 px comme la maquette */
.kbt-box { min-height: 38px; display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; padding: 6px 12px; border: 1px solid #E2DBD1; border-radius: 9px; box-sizing: border-box; font-size: 14px; font-weight: 600; color: #221E1A; word-break: break-word; }
.kbt-box a { color: #0B5C6B; text-decoration: none; }
.kbt-box a:hover { text-decoration: underline; }
.kbt-box .kbt-muted { font-weight: 400; font-size: 13px; color: #6F675E; }
.kbt-nets { display: flex; flex-wrap: wrap; gap: 6px; }
.kbt-note { font-size: 12.5px; color: #6F675E; line-height: 1.45; }
/* prix du badge (30/10/2026) : choix Gratuit / Prix / Non communiqué, montant seulement pour « Prix » */
.kbt-price { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.kbt-price .ka-seg { max-width: 100%; flex-wrap: wrap; }
.kbt-amt { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: #6F675E; }
.kbt-amt[hidden] { display: none; }
.kbt-amt input { width: 120px; }
.kbt-err { font-size: 12.5px; color: #C1272D; }
.kbt-err:empty { display: none; }

/* « + N pays » : liste déroulante qui prend l'allure d'un sous-onglet */
.ka-subtabs .kbt-more { display: flex; align-items: center; margin-bottom: -1px; border-bottom: 2px solid transparent; }
.ka-subtabs .kbt-more select { -webkit-appearance: none; appearance: none; border: 0; background: none; padding: 9px 12px; font: 400 13.5px Archivo, sans-serif; color: #6F675E; cursor: pointer; outline: 0; }
.ka-subtabs .kbt-more:hover select { color: #221E1A; }
.ka-subtabs .kbt-more.on { border-bottom-color: #E01B5D; }
.ka-subtabs .kbt-more.on select { font-weight: 700; color: #221E1A; }
.kbt-t table { min-width: 760px; }
