/* ImmoScan V3 — couche Données de marché.
   Aucune nouvelle couleur : uniquement les variables du Design C. */

/* ---------- Autocomplétion ---------- */
.ac-wrap { position: relative; }
.ac-list {
  position: absolute; z-index: 60; left: 0; right: 0; top: calc(100% + 4px);
  background: var(--surface); border: 1px solid var(--line-2); border-radius: var(--r-sm);
  box-shadow: var(--sh-2); max-height: 260px; overflow-y: auto; padding: 4px;
}
.ac-list[hidden] { display: none; }
.ac-item {
  display: flex; justify-content: space-between; gap: var(--s3); align-items: baseline;
  width: 100%; text-align: left; background: none; border: 0; cursor: pointer;
  padding: 8px 10px; border-radius: 6px; font: inherit; color: var(--ink);
}
.ac-item:hover, .ac-item[aria-selected="true"] { background: var(--brand-tint); }
.ac-item .ac-sub { font-size: 12px; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.ac-empty { padding: 10px; font-size: 12.5px; color: var(--ink-3); }

/* ---------- Statuts de donnée ---------- */
.mstat {
  display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px;
  padding: 2px 9px; border-radius: var(--r-pill); border: 1px solid var(--line-2);
  background: var(--surface-2); color: var(--ink-3); white-space: nowrap;
}
.mstat .glyph { font-size: 9px; line-height: 1; }
.mstat-high { background: var(--pos-bg); border-color: var(--pos-line); color: var(--pos); }
.mstat-mid { background: var(--warn-bg); border-color: var(--warn-line); color: var(--warn); }
.mstat-low { background: var(--neg-bg); border-color: var(--neg-line); color: var(--neg); }
.mstat-off { background: var(--cream); border-color: var(--line); color: var(--ink-4); }
.mstat-src { background: var(--brand-tint); border-color: var(--line-2); color: var(--brand-deep); }

/* ---------- Cartes marché ---------- */
.mcard { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--sh); padding: var(--s6); margin-bottom: var(--s4); }
.mcard-hd { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--s4); margin-bottom: var(--s4); flex-wrap: wrap; }
.mcard-hd h3 { font-family: 'Fraunces', Georgia, serif; font-size: 17px; margin: 0; }
.mgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s4); }
@media (max-width: 860px) { .mgrid { grid-template-columns: 1fr; } }
.mfig { border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--surface-2); padding: var(--s4); }
.mfig .k { font-size: 11.5px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .04em; }
.mfig .v { font-family: 'Fraunces', Georgia, serif; font-size: 24px; margin-top: 4px; font-variant-numeric: tabular-nums; }
.mfig .s { font-size: 12px; color: var(--ink-3); margin-top: 4px; }
.mline { display: flex; justify-content: space-between; gap: var(--s4); padding: 7px 0; border-bottom: 1px dotted var(--line); font-size: 13.5px; }
.mline:last-child { border-bottom: 0; }
.mline span:first-child { color: var(--ink-3); }
.mline b { font-variant-numeric: tabular-nums; font-weight: 600; }
.msrc { font-size: 12px; color: var(--ink-3); margin-top: var(--s3); display: flex; gap: var(--s2); flex-wrap: wrap; align-items: center; }
.msrc .dot-sep { color: var(--line-2); }
.mnote { font-size: 12px; color: var(--ink-3); margin-top: var(--s3); }
.mdetails { margin-top: var(--s3); }
.mdetails > summary { cursor: pointer; font-size: 12.5px; color: var(--brand-deep); }
.mdetails > .body { margin-top: var(--s3); padding-top: var(--s3); border-top: 1px solid var(--line); font-size: 12.5px; color: var(--ink-2); }
.mbar { height: 5px; background: var(--sand); border-radius: 4px; overflow: hidden; margin-top: 6px; }
.mbar i { display: block; height: 100%; background: var(--brand); }

/* ---------- Chargement sobre ---------- */
.mskel { border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--surface-2); padding: var(--s4); }
.mskel .bar { height: 10px; border-radius: 4px; background: linear-gradient(90deg, var(--sand), var(--cream), var(--sand)); background-size: 200% 100%; animation: mshine 1.6s linear infinite; }
.mskel .bar + .bar { margin-top: 8px; width: 60%; }
@keyframes mshine { to { background-position: -200% 0; } }
.mstep { font-size: 12.5px; color: var(--ink-3); margin-top: var(--s2); }

/* ---------- Édition d'une référence ---------- */
.medit { display: flex; gap: var(--s2); align-items: center; margin-top: var(--s3); flex-wrap: wrap; }
.medit input { width: 130px; }
.mconflict { border-left: 3px solid var(--bronze); background: var(--warn-bg); padding: var(--s3) var(--s4); border-radius: 0 var(--r-sm) var(--r-sm) 0; font-size: 13px; margin-top: var(--s3); }

/* ---------- Tableau comparables ---------- */
table.mtable { width: 100%; border-collapse: collapse; font-size: 12.5px; margin-top: var(--s3); }
table.mtable th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-3); font-weight: 600; padding: 6px 8px; border-bottom: 1px solid var(--line-2); }
table.mtable td { padding: 6px 8px; border-bottom: 1px solid var(--line); }
table.mtable td.n { text-align: right; font-variant-numeric: tabular-nums; }

/* ---------- Dossier bancaire : page marché ---------- */
.a4 .msrcline { font-size: 10.5px; color: #8B8175; margin-top: 6px; }
