/* Identité Mandaty — « panneau d'agence » : bleu nuit + jaune signalétique.
   Angles nets, bordures franches, chiffres en chasse fixe. Chargé en dernier : redéfinit les jetons. */
:root {
  --bg: #ffffff; --bg-soft: #f1f2f5; --surface: #ffffff; --surface-2: #eceef2;
  --ink: #0f1b33; --ink-2: #45506a; --ink-3: #828aa0; --line: #dfe2e8; --line-strong: #c3c8d3;
  --blue: #0f1b33; --blue-hover: #22335a; --blue-soft: #e4e8f1; --blue-ink: #2a447e; --on-primary: #ffffff;
  --sun: #4f8cff; --sun-hover: #6b9fff; --sun-soft: #e4edff; --sun-ink: #1d3f8f;
  --black: #0f1b33; --on-dark: #ffffff;
  --orange-soft: #e4edff; --orange-ink: #1d3f8f;
  --purple-soft: #e7e9f6; --purple-ink: #3a447a;
  --green: #12805c; --green-soft: #def2ea; --green-ink: #0d6b4c;
  --red: #c4372c; --red-soft: #fbe7e5;
  --shadow: 0 1px 0 rgba(15,27,51,.06), 0 6px 18px -10px rgba(15,27,51,.18);
  --font: 'Schibsted Grotesk', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-display: 'Schibsted Grotesk', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Consolas, monospace;
  --r-card: 10px; --r: 8px; --r-pill: 8px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0b1222; --bg-soft: #0f1829; --surface: #131e33; --surface-2: #1b2740; --ink: #edf0f6; --ink-2: #b2bacb; --ink-3: #7f899f;
    --line: #243250; --line-strong: #34446a; --blue: #4f8cff; --blue-hover: #6b9fff; --blue-soft: #1c2a47; --blue-ink: #9fb6ec; --on-primary: #0f1b33;
    --black: #edf0f6; --on-dark: #0f1b33; --sun-soft: #16264a; --sun-ink: #6b9fff;
    --orange-soft: #16264a; --orange-ink: #6b9fff; --purple-soft: #232c4d; --purple-ink: #b9c3ef;
    --green: #3ec58f; --green-soft: #123326; --green-ink: #6fdcb0; --red: #ff7a6e; --red-soft: #3a1917;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #0b1222; --bg-soft: #0f1829; --surface: #131e33; --surface-2: #1b2740; --ink: #edf0f6; --ink-2: #b2bacb; --ink-3: #7f899f;
  --line: #243250; --line-strong: #34446a; --blue: #4f8cff; --blue-hover: #6b9fff; --blue-soft: #1c2a47; --blue-ink: #9fb6ec; --on-primary: #0f1b33;
  --black: #edf0f6; --on-dark: #0f1b33; --sun-soft: #16264a; --sun-ink: #6b9fff;
  --orange-soft: #16264a; --orange-ink: #6b9fff; --purple-soft: #232c4d; --purple-ink: #b9c3ef;
  --green: #3ec58f; --green-soft: #123326; --green-ink: #6fdcb0; --red: #ff7a6e; --red-soft: #3a1917;
  color-scheme: dark;
}
body { font-feature-settings: normal; letter-spacing: -.003em; }
h1, h2, h3 { letter-spacing: -.03em; font-weight: 800; }
h3 { font-weight: 700; letter-spacing: -.015em; }
.num, .mono { font-family: var(--mono); font-variant-numeric: tabular-nums; }

/* Boutons rectangulaires */
.btn { border-radius: 8px; font-weight: 700; letter-spacing: -.005em; }
.btn-primary { background: var(--blue); color: var(--on-primary); }
.btn-primary:hover { background: var(--blue-hover); }
.btn-sun { background: var(--sun); color: #0f1b33; box-shadow: 0 2px 0 #2f6be0; }
.btn-sun:hover { background: var(--sun-hover); }
.btn-sun:active { transform: translateY(1px); box-shadow: 0 1px 0 #2f6be0; }
.btn-ghost { background: var(--surface-2); }
.btn-outline { border-color: var(--ink); border-width: 1.5px; }
.lcard .buy .btn-primary { box-shadow: none; }
.icon-btn { border-radius: 8px; }

/* Logo : étiquette de prix */
.logo { font-weight: 800; letter-spacing: -.03em; font-size: 1.12rem; }
.logo-mark { width: 30px; height: 30px; border-radius: 7px; background: var(--sun); color: #0f1b33; display: grid; place-items: center; box-shadow: inset 0 0 0 1.5px rgba(15,27,51,.12); }
.logo-mark svg { width: 17px; height: 17px; stroke: #0f1b33; stroke-width: 2.2; }

/* En-tête : trait de couleur signalétique */
.topbar { border-bottom: 1px solid var(--line); }
/* (trait bleu sous le logo retiré) */
.nav a { border-radius: 6px; font-weight: 600; }

/* Pastilles : rectangulaires, discrètes */
.chip { border-radius: 4px; font-weight: 700; font-size: .7rem; letter-spacing: .01em; }
.chip.sun { background: var(--sun); color: #0f1b33; }
.chip.ink { background: var(--blue-soft); color: var(--blue-ink); }
.pill-status { border-radius: 6px; }

/* Filtres : onglets soulignés */
.filterbar { gap: 0; justify-content: flex-start; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--bg-soft) 94%, transparent); }
.filterbar a { border: 0; border-radius: 0; background: transparent; padding: 12px 14px; font-weight: 600; color: var(--ink-2); border-bottom: 2.5px solid transparent; margin-bottom: -1px; }
.filterbar a:hover { color: var(--ink); border-color: var(--line-strong); }
.filterbar a.on { background: transparent; color: var(--ink); border-bottom-color: var(--sun); }
.filterbar select { margin-left: auto; border-radius: 8px; border-color: var(--line-strong); }
@media (max-width: 640px) { .filterbar select { margin-left: 8px; } }

/* ---------- Fiche lead « ticket » ---------- */
.lcard { padding: 0; border-radius: var(--r-card); border: 1.5px solid var(--line); box-shadow: none; overflow: hidden; background: var(--surface); }
.section.soft .lcard, .lp-sec.soft .lcard { border-color: var(--line); }
.lcard:hover { transform: translateY(-2px); border-color: var(--ink); box-shadow: 0 10px 0 -6px var(--sun); }
.tk-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 14px; background: var(--ink); color: color-mix(in srgb, var(--bg) 75%, transparent); font-family: var(--mono); font-size: .72rem; }
:root[data-theme="dark"] .tk-top { background: #050a14; color: #b2bacb; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .tk-top { background: #050a14; color: #b2bacb; } }
.tk-top .tk-ref { color: var(--sun); font-weight: 600; letter-spacing: .04em; }
.tk-body { padding: 16px 16px 14px; position: relative; display: flex; flex-direction: column; flex: 1; }
.tk-price { position: absolute; top: 14px; right: 14px; background: var(--sun); color: #0f1b33; font-family: var(--mono); font-weight: 700; font-size: 1.02rem; padding: 6px 10px 6px 16px; border-radius: 4px 6px 6px 4px;
  clip-path: polygon(10px 0, 100% 0, 100% 100%, 10px 100%, 0 50%); letter-spacing: -.02em; }
.tk-city { font-family: var(--font-display); font-weight: 800; font-size: 1.35rem; letter-spacing: -.035em; line-height: 1.1; padding-right: 86px; color: var(--ink); }
.tk-city small { display: block; font-family: var(--mono); font-weight: 500; font-size: .74rem; color: var(--ink-3); letter-spacing: 0; margin-top: 3px; }
.tk-flags { display: flex; flex-wrap: wrap; gap: 5px; margin: 10px 0 0; min-height: 20px; }
.tk-specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 14px 0; border: 1px solid var(--line); border-radius: 6px; }
.tk-specs div { padding: 8px 10px; min-width: 0; }
.tk-specs div + div { border-left: 1px solid var(--line); }
.tk-specs dt { font-size: .66rem; color: var(--ink-3); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.tk-specs dd { margin: 2px 0 0; font-size: .84rem; font-weight: 700; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tk-pot { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding-top: 2px; }
.tk-pot span { font-size: .76rem; color: var(--ink-2); }
.tk-pot b { font-family: var(--mono); font-size: .95rem; color: var(--ink); white-space: nowrap; }
.tk-bar { height: 4px; border-radius: 4px; background: var(--surface-2); margin: 8px 0 14px; overflow: hidden; }
.tk-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--ink-3), var(--ink)); border-radius: 4px; }
.tk-cta { margin-top: auto; position: relative; z-index: 1; }
.tk-cta .btn { width: 100%; }
.tk-link::after { content: ""; position: absolute; inset: 0; z-index: 0; }
.lcard.mine .tk-top { background: var(--surface-2); color: var(--ink-2); }
.lcard.bought .tk-price { background: var(--green-soft); color: var(--green-ink); }

/* Cartes génériques et sections */
.card { border-radius: var(--r-card); }
.kpi { border-top: 3px solid var(--sun); border-radius: var(--r-card); }
.empty { border-radius: var(--r-card); }
.table-wrap { border-radius: var(--r-card); }
.tabs a { border-radius: 6px; }
.tabs a.active { background: var(--ink); border-color: var(--ink); color: var(--bg); }
.toast { border-radius: 8px; border-left: 4px solid var(--sun); }
.sidebar a { border-radius: 6px; }
.sidebar a.active { background: var(--sun-soft); color: var(--ink); box-shadow: inset 3px 0 0 var(--sun); }
.sidebar a.cta { background: var(--sun); color: #0f1b33; }
.sidebar a.cta:hover { background: var(--sun-hover); }
.tabbar .tab-cta .ic { background: var(--sun); color: #0f1b33; box-shadow: none; }
.tabbar .on { color: var(--ink); }
.wallet { border-radius: 8px; }
.choice span, .seg span { border-radius: 6px; }
.choice input:checked + span { background: var(--ink); border-color: var(--ink); color: var(--bg); }
input[type=text], input[type=email], input[type=password], input[type=tel], input[type=number], input[type=date], input[type=datetime-local], input[type=url], input:not([type]), select, textarea { border-radius: 8px; }
input:focus, select:focus, textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 3px var(--sun-soft); }
.paycard { background: linear-gradient(135deg, #0f1b33 0%, #2a447e 130%); box-shadow: 0 20px 40px -18px rgba(15,27,51,.6); border-radius: 12px; }
.stepper button.done::before, .stepper button.on::before { background: var(--sun); }
.adjust input[type=range] { accent-color: var(--ink); }
.pricing { border-radius: var(--r-card); }
.buybar b { font-family: var(--mono); }
.demo { border-radius: 8px; }

/* ---------- Accueil ---------- */
.lp .kicker { color: var(--ink); }
.lp .kicker::before { height: 10px; width: 10px; border-radius: 2px; background: var(--sun); }
.lp-hero::before { background: radial-gradient(closest-side, color-mix(in srgb, var(--sun) 22%, transparent), transparent); }
.lp-hero h1 { letter-spacing: -.045em; font-weight: 800; }
.lp-hero h1 .grey { color: var(--ink-3); }
.lp-hero h1 mark { background: linear-gradient(transparent 62%, var(--sun) 62% 92%, transparent 92%); color: inherit; padding: 0 .04em; }
.lp-live { border-radius: 6px; box-shadow: none; }
.lp-search { border-radius: 10px; border: 1.5px solid var(--ink); box-shadow: 6px 6px 0 var(--sun); }
.lp-search .btn, .lp-search select { border-radius: 6px; }
.lp-proof .ico { color: var(--ink); }
.board { border-radius: 12px; transform: none; box-shadow: 10px 10px 0 var(--sun); }
.board-rows { border-radius: 8px; }
.board-row .st.on { background: var(--sun); color: #0f1b33; }
.board-head .live { color: var(--sun); }
.board-head .live::before { background: var(--sun); box-shadow: 0 0 0 3px rgba(79,140,255,.25); }
.board-row.fresh { animation-name: lp-flash-sun; }
@keyframes lp-flash-sun { 0% { background: transparent; } 20% { background: rgba(79,140,255,.22); } 100% { background: transparent; } }
.lp-stats b { font-family: var(--mono); font-weight: 600; letter-spacing: -.04em; }
.lp-stats div:first-child b { box-shadow: inset 0 -.32em 0 var(--sun); display: inline-block; }
.lp-dark .kicker { color: #fff; }
.flow-node { border-radius: 10px; }
.flow-node.mine { border-color: var(--sun); background: rgba(79,140,255,.1); }
.flow-node.mine .amt { color: var(--sun); }
.flow-node.stripe { background: var(--navy-2); border-color: #34446a; }
.calc-form, .calc-out { border-radius: 12px; }
.calc-out { background: var(--ink); }
:root[data-theme="dark"] .calc-out { background: #050a14; color: #edf0f6; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .calc-out { background: #050a14; color: #edf0f6; } }
.calc-out::before { background: radial-gradient(closest-side, rgba(79,140,255,.35), transparent); }
.calc-out .price { color: var(--sun); }
.seg input:checked + span { background: var(--ink); color: var(--bg); }
.path { border-radius: 12px; }
.path.sell { background: var(--sun); border-color: var(--sun); color: #0f1b33; }
.path.sell h3, .path.sell .tagline { color: #0f1b33; }
.path.sell li::before { background: #0f1b33; color: var(--sun); }
.path.sell li span { color: rgba(15,27,51,.75); }
.path .btn-light { background: #0f1b33; color: #fff; }
.path .btn-light:hover { background: #22335a; }
.lp-final { border-radius: 14px; }
.lp-final::before { background: radial-gradient(closest-side, rgba(79,140,255,.35), transparent); }
.lp-final .btn-light { background: var(--sun); color: #0f1b33; }

/* ---------- Pages SEO ---------- */
.crumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: .8rem; color: var(--ink-3); margin-bottom: 14px; }
.crumbs a { color: var(--ink-2); }
.crumbs span[aria-hidden] { color: var(--line-strong); }
.seo-hero { padding-block: 48px 40px; border-bottom: 1px solid var(--line); }
.seo-hero h1 { font-size: clamp(2rem, 4.4vw, 3.2rem); letter-spacing: -.045em; max-width: 22ch; margin-bottom: 14px; }
.seo-hero .lead { color: var(--ink-2); max-width: 62ch; font-size: 1.05rem; margin: 0; }
.facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1.5px solid var(--ink); border-radius: 10px; margin-top: 28px; background: var(--surface); }
.facts div { padding: 16px 18px; min-width: 0; }
.facts div + div { border-left: 1px solid var(--line); }
.facts b { display: block; font-family: var(--mono); font-size: 1.35rem; letter-spacing: -.03em; }
.facts span { font-size: .78rem; color: var(--ink-2); }
@media (max-width: 760px) { .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .facts div:nth-child(3) { border-left: 0; } .facts div:nth-child(n+3) { border-top: 1px solid var(--line); } }
.seo-cols { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 32px; align-items: start; }
@media (max-width: 960px) { .seo-cols { grid-template-columns: 1fr; } }
.prose { max-width: 70ch; font-size: 1.04rem; line-height: 1.7; color: var(--ink); }
.prose h2 { font-size: 1.45rem; margin: 1.8em 0 .5em; letter-spacing: -.03em; }
.prose p, .prose li { color: var(--ink-2); }
.prose a { color: var(--blue-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--sun); text-decoration-thickness: 2px; }
.prose ul { padding-left: 20px; }
.city-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.city-link { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 16px; border: 1.5px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); text-decoration: none !important; transition: border-color .15s; }
.city-link:hover { border-color: var(--ink); }
.city-link b { font-weight: 800; letter-spacing: -.02em; }
.city-link small { display: block; color: var(--ink-3); font-family: var(--mono); font-size: .72rem; }
.city-link .n { font-family: var(--mono); font-size: .8rem; font-weight: 600; background: var(--surface-2); padding: 3px 8px; border-radius: 4px; white-space: nowrap; }
.city-link .n.has { background: var(--sun); color: #0f1b33; }
.price-table td.num, .price-table th.num { font-family: var(--mono); }
.guide-card { display: block; padding: 22px; border: 1.5px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); text-decoration: none !important; transition: border-color .15s; }
.guide-card:hover { border-color: var(--ink); }
.guide-card h2, .guide-card h3 { font-size: 1.2rem; margin: 6px 0 8px; }
.guide-card p { color: var(--ink-2); margin: 0; font-size: .92rem; }

/* Pied de page */
.footer { background: var(--ink); color: color-mix(in srgb, var(--bg) 70%, transparent); border-top: 0; padding-block: 48px 32px; }
:root[data-theme="dark"] .footer { background: #050a14; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .footer { background: #050a14; } }
.footer a { color: color-mix(in srgb, var(--bg) 82%, transparent); }
:root[data-theme="dark"] .footer a, :root[data-theme="dark"] .footer { color: #b2bacb; }
.footer .logo { color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 28px; }
.footer-grid h4 { margin: 0 0 12px; font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: var(--sun); }
.footer-grid nav { display: flex; flex-direction: column; gap: 8px; font-size: .88rem; }
.footer-base { margin-top: 36px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); font-size: .78rem; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
@media (max-width: 860px) { .footer-grid { grid-template-columns: 1fr 1fr; } }

/* Un élément masqué reste masqué, quel que soit son style d'affichage (corrige le double bouton du formulaire de vente) */
[hidden] { display: none !important; }

/* Sidebar compacte : tout tient sans défilement sur un écran d'ordinateur */
@media (min-width: 961px) {
  .sidebar { padding: 12px 10px; overflow-y: auto; scrollbar-width: thin; }
  .sidebar a { padding: 6px 10px; font-size: .84rem; gap: 9px; line-height: 1.25; }
  .sidebar a .ico { width: 17px; height: 17px; flex: none; }
  .sidebar a.cta { padding: 8px 10px; margin: 0 0 4px; }
  .sidebar .grp { padding: 10px 10px 3px; font-size: .66rem; }
  .sidebar a.wallet { margin-top: auto; padding: 8px 10px; border: 1px solid var(--line); background: var(--bg-soft); font-size: .8rem; box-shadow: none; }
  .sidebar a.wallet .dot { width: 8px; height: 8px; border-radius: 50%; flex: none; background: var(--orange, #e08a1e); }
  .sidebar a.wallet.ok .dot { background: var(--green, #1f9d55); }
  .sidebar a.wallet.off { color: var(--ink); font-weight: 600; }
}
@media (min-width: 961px) and (max-height: 700px) {
  .sidebar a { padding: 4px 10px; }
  .sidebar .grp { padding: 7px 10px 2px; }
}

/* Enchères, réservations, profil public */
.auction-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin: 16px 0 14px; padding: 14px 0; border-block: 1px dashed var(--line); }
.auction-amt { font-family: var(--mono); font-size: 2.3rem; font-weight: 700; letter-spacing: -.04em; line-height: 1.05; font-variant-numeric: tabular-nums; }
.bid-row { display: flex; gap: 8px; margin-top: 6px; }
.bid-input { position: relative; flex: 1; min-width: 0; }
.bid-input input { width: 100%; padding-right: 30px; font-size: 1.15rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.bid-input span { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: var(--ink-3); font-weight: 600; }
.bid-quick { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
[data-countdown] { font-variant-numeric: tabular-nums; }
[data-countdown].soon { color: var(--red, #d64535); }
.lcard.live { box-shadow: 0 0 0 1.5px var(--sun) inset, var(--shadow-sm, none); }
.auction-opt { display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg-soft); }
.auction-opt > span { display: grid; gap: 3px; }
.chip .ico { width: 13px; height: 13px; margin-right: 3px; vertical-align: -2px; }
.profile-head { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.profile-mono { width: 64px; height: 64px; border-radius: 14px; display: grid; place-items: center; background: var(--ink); color: var(--bg); font-family: var(--font-display); font-weight: 700; font-size: 1.6rem; flex: none; }
.trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--bg); }
.trust > div { padding: 16px 18px; border-right: 1px solid var(--line); min-width: 0; }
.trust > div:last-child { border-right: 0; }
.trust b { display: block; font-family: var(--mono); font-size: 1.6rem; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.trust span { font-size: .8rem; color: var(--ink-2); }
.criteria { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.criteria li { display: flex; gap: 8px; align-items: flex-start; font-size: .88rem; }
.criteria li .ico { width: 16px; height: 16px; flex: none; margin-top: 2px; }
.criteria li.ok .ico { color: var(--green); }
.criteria li.no { color: var(--ink-3); }
.review { border-top: 1px solid var(--line); padding: 12px 0; }
.review:first-of-type { border-top: 0; }
.stars { color: var(--sun); letter-spacing: 1px; }
@media (max-width: 720px) { .trust { grid-template-columns: repeat(2, minmax(0, 1fr)); } .trust > div:nth-child(2) { border-right: 0; } .trust > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); } }

/* Header pleine largeur : logo collé à gauche, navigation collée à droite */
.topbar .container { max-width: none; padding-left: max(28px, env(safe-area-inset-left, 0px)); padding-right: max(28px, env(safe-area-inset-right, 0px)); }
@media (max-width: 720px) { .topbar .container { padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); } }

/* ---------- Pipeline ---------- */
.pipe-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 12px; background: var(--surface); overflow: hidden; margin-bottom: 16px; }
.pipe-kpis > div { padding: 14px 18px; border-right: 1px solid var(--line); display: grid; gap: 2px; min-width: 0; position: relative; }
.pipe-kpis > div:last-child { border-right: 0; }
.pipe-kpis span { font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); }
.pipe-kpis b { font-family: var(--mono); font-size: 1.7rem; letter-spacing: -.03em; line-height: 1.15; font-variant-numeric: tabular-nums; }
.pipe-kpis small { font-size: .78rem; color: var(--ink-2); }
.pipe-kpis .warn::before, .pipe-kpis .good::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--red, #d64535); }
.pipe-kpis .warn small { color: var(--red, #d64535); font-weight: 600; }
.pipe-kpis .good::before { background: var(--green); }
.pipe-tools { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; }
.pipe-search { position: relative; flex: 0 1 340px; min-width: 0; margin: 0; }
.pipe-search .ico { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--ink-3); }
.pipe-search input { width: 100%; padding-left: 34px; height: 38px; }
.pipe-hint { margin-left: auto; }

.kanban { grid-template-columns: repeat(6, minmax(232px, 1fr)); gap: 10px; align-items: start; }
.col { --c: var(--ink-3); background: var(--surface-2); border-radius: 12px; padding: 0; min-height: 0; border-top: 3px solid var(--c); transition: background-color .15s, box-shadow .15s; }
.col.st-a_appeler { --c: var(--sun); }
.col.st-contacte { --c: #7c8cff; }
.col.st-rdv { --c: #a86bff; }
.col.st-proposition { --c: #e0a020; }
.col.st-mandat_signe { --c: var(--green); }
.col.st-perdu { --c: var(--ink-3); }
.col.st-perdu .kcard { opacity: .75; }
.col-head { display: flex; justify-content: space-between; align-items: center; padding: 12px 12px 0; }
.col-name { display: flex; align-items: center; gap: 7px; font-size: .82rem; font-weight: 700; color: var(--ink); }
.col-name i { width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.col-head .n { font-family: var(--mono); font-size: .75rem; font-weight: 600; background: var(--surface); border: 1px solid var(--line); border-radius: 999px; padding: 1px 8px; color: var(--ink-2); }
.col-sum { font-family: var(--mono); font-size: .72rem; color: var(--ink-3); padding: 2px 12px 10px; min-height: 1.6em; }
.col-body { padding: 0 8px 8px; display: grid; gap: 8px; min-height: 120px; }
.col-empty { display: grid; place-items: center; min-height: 72px; border: 1.5px dashed var(--line-strong); border-radius: 10px; font-size: .75rem; color: var(--ink-3); }
.col-body:has(.kcard:not([hidden])) .col-empty { display: none; }
.kanban.is-dragging .col-empty { display: grid; }
.col.drop { background: color-mix(in srgb, var(--c) 12%, var(--surface-2)); outline: 2px dashed var(--c); outline-offset: -2px; }

.kcard { display: grid; gap: 6px; margin: 0; padding: 11px 12px; border-radius: 10px; background: var(--surface); border: 1px solid var(--line); box-shadow: none; cursor: grab; font-size: .84rem; transition: border-color .15s, box-shadow .15s, transform .15s; }
.kcard:hover { outline: 0; border-color: var(--line-strong); box-shadow: 0 6px 16px -10px rgba(15, 27, 51, .35); }
.kcard.urgent { border-left: 3px solid var(--red, #d64535); }
.kcard.dragging { opacity: .45; transform: rotate(1.5deg); }
.kcard.moving { opacity: .6; pointer-events: none; }
.kcard.landed { animation: kc-land .7s var(--ease, ease); }
@keyframes kc-land { from { box-shadow: 0 0 0 3px color-mix(in srgb, var(--sun) 45%, transparent); } to { box-shadow: 0 0 0 0 transparent; } }
.kc-top { display: flex; justify-content: space-between; gap: 8px; font-size: .7rem; color: var(--ink-3); }
.kc-ref { font-family: var(--mono); letter-spacing: .02em; }
.kc-name { font-weight: 700; font-size: .95rem; color: var(--ink); line-height: 1.2; }
.kc-name:hover { color: var(--sun-ink); text-decoration: none; }
.kc-meta { color: var(--ink-2); font-size: .8rem; margin-top: -3px; }
.kc-pot { display: flex; justify-content: space-between; align-items: baseline; font-size: .74rem; color: var(--ink-3); border-top: 1px dashed var(--line); padding-top: 6px; }
.kc-pot b { font-family: var(--mono); font-size: .8rem; color: var(--ink); font-weight: 600; }
.kc-flag { display: flex; align-items: center; gap: 5px; font-size: .74rem; font-weight: 600; padding: 4px 7px; border-radius: 6px; background: var(--surface-2); color: var(--ink-2); }
.kc-flag .ico { width: 13px; height: 13px; flex: none; }
.kc-flag.red { background: var(--red-soft, #fde8e6); color: var(--red, #c0392b); }
.kc-flag.sun { background: var(--sun-soft); color: var(--sun-ink); }
.kc-actions { display: flex; justify-content: space-between; align-items: center; gap: 6px; margin-top: 2px; }
.kc-btn { display: inline-flex; align-items: center; gap: 5px; min-width: 0; padding: 5px 8px; border-radius: 6px; border: 1px solid var(--line); background: var(--surface); color: var(--ink-2); font: inherit; font-size: .72rem; font-weight: 600; cursor: pointer; white-space: nowrap; }
.kc-btn span { overflow: hidden; text-overflow: ellipsis; }
.kc-btn .ico { width: 13px; height: 13px; flex: none; }
.kc-btn:hover { border-color: var(--c); color: var(--ink); text-decoration: none; }
.kc-next { margin-left: auto; color: var(--ink); }
.kc-next:hover { background: color-mix(in srgb, var(--c) 14%, var(--surface)); }
.kcard[hidden] { display: none !important; }
@media (max-width: 1100px) { .pipe-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pipe-kpis > div:nth-child(2) { border-right: 0; } .pipe-kpis > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); } .pipe-hint { display: none; } }
@media (max-width: 960px) { .kanban { grid-template-columns: repeat(6, 84%); } .pipe-search { flex: 1 1 100%; } }
/* Pipeline : les fiches restent dans leur colonne */
.kanban { grid-template-columns: repeat(6, minmax(196px, 1fr)); gap: 8px; }
.col, .col-body > * { min-width: 0; }
.kc-actions > * { min-width: 0; }
.kc-btn { flex: 0 1 auto; overflow: hidden; }
.kc-call span { display: none; }
.kc-call { flex: none; padding: 5px 7px; }
.kc-next { flex: 0 1 auto; }
.kc-pot b { white-space: nowrap; }
.kc-name, .kc-meta { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.col-body { grid-template-columns: minmax(0, 1fr); }
.kanban { grid-template-columns: repeat(5, minmax(172px, 1fr)) minmax(150px, .75fr); }
.kc-flag { line-height: 1.25; }

/* Opération « commission offerte » */
.promo-bar { background: var(--ink); color: var(--bg); text-align: center; font-size: .82rem; padding: 8px max(16px, env(safe-area-inset-right, 0px)) 8px max(16px, env(safe-area-inset-left, 0px)); }
.promo-bar b { color: var(--sun); }
.promo-bar a { color: var(--bg); font-weight: 700; text-decoration: underline; margin-left: 6px; }
.promo-card.on { border: 1.5px solid var(--green); }

/* Baromètre public des prix */
.baro-edition { display: inline-block; font-family: var(--mono); font-size: .75rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--sun-ink); background: var(--sun-soft); padding: 4px 8px; border-radius: 4px; margin: 0 0 10px; }
.baro-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
@media (max-width: 900px) { .baro-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .baro-kpis { grid-template-columns: minmax(0, 1fr); } }
.baro-chart-card { display: grid; gap: 14px; }
.baro-chart { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; align-items: end; height: 200px; padding-top: 8px; border-bottom: 1px solid var(--line); }
.bar-col { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; outline: none; }
.bar-col .bc-bar { width: min(100%, 30px); background: var(--sun); border-radius: 4px 4px 0 0; }
.bar-col .bc-bar.is-empty { background: var(--line-strong); border-radius: 0; }
.bar-col .lbl { position: absolute; bottom: -22px; font-size: .7rem; color: var(--ink-3); white-space: nowrap; }
.bar-col .tip { position: absolute; bottom: calc(100% - 4px); left: 50%; transform: translateX(-50%); background: var(--ink); color: var(--bg); font-size: .72rem; line-height: 1.35; padding: 6px 8px; border-radius: 6px; white-space: nowrap; pointer-events: none; opacity: 0; transition: opacity .12s; z-index: 2; }
.bar-col:hover .tip, .bar-col:focus-visible .tip { opacity: 1; }
.bar-col:hover .bc-bar:not(.is-empty), .bar-col:focus-visible .bc-bar:not(.is-empty) { background: var(--sun-hover); }
.bar-col:first-child .tip { left: 0; transform: none; }
.bar-col:last-child .tip { left: auto; right: 0; transform: none; }
.baro-chart + details { margin-top: 22px; }
.lost-form { margin-top: 10px; }
.lost-form select { max-width: 100%; }

/* Bouton « Publier un contact » de l'en-tête : sobre, couleur de marque, sans ombre */
.btn-publish { background: var(--ink); color: var(--bg); border: 1px solid var(--ink); box-shadow: none; gap: 6px; padding: 8px 14px 8px 11px; border-radius: 8px; font-weight: 650; transition: background-color .15s, border-color .15s; }
.btn-publish .ico { width: 15px; height: 15px; stroke-width: 2.4; }
.btn-publish:hover { background: var(--sun-ink); border-color: var(--sun-ink); color: var(--bg); }
.btn-publish:active { transform: translateY(1px); }
.btn-publish:focus-visible { outline: 2px solid var(--sun); outline-offset: 2px; }
/* Le style des liens du menu (.nav a) ne doit pas s'appliquer au bouton */
.nav a.btn-publish, .nav a.btn-publish:hover { color: var(--bg); padding: 8px 14px 8px 11px; font-weight: 650; }
.nav a.btn-publish { background: var(--ink); }
.nav a.btn-publish:hover { background: var(--sun-ink); }
.stripe-status { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; justify-content: space-between; padding-block: 12px; }
.stripe-status .ico { width: 18px; height: 18px; }
