:root{--lettre-a-clair:#68E5E6;--atlas-hausse:#D6852F;--atlas-stable:#3987E5;--atlas-baisse:#1C9475;--atlas-insuffisant:#7D8998;--atlas-blanc:#ffffff;--atlas-ombre:#000000;--atlas-encre-forte:#081321}
:root { --suivi-1:#a694f4; --suivi-2:#2684ff; --suivi-3:#f4b943; --suivi-4:#12d779; }
:root[data-theme="clair"] { --suivi-1:#7357c7; --suivi-2:#1769c5; --suivi-3:#976700; --suivi-4:#07834a; }
:root { --ciel-palette:linear-gradient(90deg,#204fff,#00c4ff,#23e289,#ffe02b,#ff7d1a,#ef2b3f); }
/* Feuille de style autonome du portail, sans dépendance externe. Le thème principal (verre sombre) est celui de la page ;
   trois thèmes classiques (clair, sombre, ardoise) ne changent que les jetons de couleur, plus quelques règles propres plus bas. */
:root[data-theme="aether"]{
  --chaleur-encre-1:var(--sdx-ink);--chaleur-encre-2:var(--sdx-ink);--chaleur-encre-3:#081321;--chaleur-encre-4:#081321;
  --sdx-ecart-sous:#76dfbb;--sdx-ecart-dessus:#ffc27a;
  color-scheme:dark;--sdx-canvas:#0C1424;--sdx-surface:#122137;--sdx-raised:#192B45;
  --sdx-ink:#F5F7FF;--sdx-muted:#C6D1E7;--sdx-faint:#C0CCE2;--sdx-border:#39445A;
  --sdx-border-strong:#7789A5;--sdx-sidebar-bg:#0B1629;--sdx-accent:#92C1FF;
  --sdx-accent-hover:#ABD6FF;--sdx-accent-ink:#10121C;--sdx-accent-soft:#1B304F;
  --sdx-info:#68E5E6;--sdx-data-4:#A991F7;--sdx-focus:#68E5E6;--sdx-shadow-strong:rgba(0,0,0,.65);
  --sdx-disabled-bg:#1C2434;--sdx-disabled-ink:var(--sdx-faint);--sdx-map-popup-bg:var(--sdx-surface);--sdx-map-popup-ink:var(--sdx-ink);--sdx-map-control-bg:var(--sdx-surface);--sdx-map-popup-border:var(--sdx-border-strong);
  --sdx-map-bg:#0F1521;--sdx-map-m1:#3987E5;--sdx-map-m2:#E0662E;--sdx-map-m3:#1BAF7A;--sdx-map-m4:#D644C2;
  --sdx-th-bg:#172034;--sdx-accent-2:#83D0F6;--sdx-highlight:rgba(245,247,255,.45);--sdx-highlight-soft:rgba(245,247,255,.12);
  --sdx-highlight-faint:rgba(245,247,255,.07);--sdx-hairline:rgba(245,247,255,.15);--sdx-ring:rgba(245,247,255,.85);
  --sdx-marker-ink:#0C1424;--sdx-marker-default:var(--sdx-data-4);--sdx-inset:rgba(0,0,0,.35);
  font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--sdx-ink);background:var(--sdx-canvas);
}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--sdx-canvas);isolation:isolate;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 20% 0%,rgba(169,145,247,.20),transparent 48%),radial-gradient(ellipse at 92% 14%,rgba(104,229,230,.18),transparent 42%),radial-gradient(ellipse at 55% 85%,rgba(169,145,247,.09),transparent 48%),var(--sdx-canvas)}
body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url("/static/aether-grain.svg?v=916493b7") repeat;opacity:.18}
main{max-width:1600px;margin:auto;padding:32px 36px 64px}.evitement{position:absolute;left:18px;top:-100px;z-index:1000;background:var(--sdx-surface);padding:12px 18px;border-radius:12px}.evitement:focus{top:14px}
header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.marque{display:flex;align-items:center;gap:13px;color:var(--sdx-muted);font-size:13px;line-height:1.5}.marque .logo{display:block;height:34px;width:auto;flex:none}.marque .sous-titre{padding-left:14px;border-left:1px solid var(--sdx-border-strong);line-height:1.2;color:var(--sdx-muted);font-size:13px}
.compte{text-align:right;color:var(--sdx-muted);font-size:13px}.compte strong{color:var(--sdx-ink)}.compte form{display:inline-block;margin-left:18px}a{color:var(--sdx-accent);text-underline-offset:4px}a:hover{color:var(--sdx-accent-hover)}.leaflet-touch .leaflet-bar{border-color:var(--sdx-border)}.leaflet-bar a{background:var(--sdx-map-control-bg);color:var(--sdx-ink);border-bottom-color:var(--sdx-border)}.leaflet-bar a:hover,.leaflet-bar a:focus{background:var(--sdx-raised);color:var(--sdx-ink)}.leaflet-bar a.leaflet-disabled{background:var(--sdx-disabled-bg);color:var(--sdx-disabled-ink);cursor:not-allowed}
button,.bouton{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--sdx-accent);border-radius:999px;padding:11px 20px;background:linear-gradient(120deg,var(--sdx-accent),var(--sdx-accent-2));color:var(--sdx-accent-ink);cursor:pointer;font:inherit;font-weight:650;text-decoration:none;white-space:nowrap;box-shadow:inset 0 1px 0 var(--sdx-highlight),0 8px 22px -12px var(--sdx-accent)}
button:hover,.bouton:hover{background:var(--sdx-accent-hover);color:var(--sdx-accent-ink)}button.discret{background:var(--sdx-surface);border-color:var(--sdx-border-strong);color:var(--sdx-ink);box-shadow:inset 0 1px 0 var(--sdx-highlight-faint);font-size:13px;padding:8px 15px}
.onglets{display:flex;gap:9px;flex-wrap:wrap;padding-bottom:24px}.onglets a{padding:10px 18px;border:1px solid var(--sdx-border-strong);border-radius:999px;text-decoration:none;color:var(--sdx-muted);background:var(--sdx-surface);font-size:14px}.onglets a:hover{color:var(--sdx-ink);border-color:var(--sdx-accent)}.onglets a.actif{background:linear-gradient(120deg,var(--sdx-accent),var(--sdx-accent-2));border-color:var(--sdx-accent);color:var(--sdx-accent-ink);font-weight:650;box-shadow:inset 0 1px 0 var(--sdx-highlight),0 8px 22px -12px var(--sdx-accent)}
.filtres,.chiffres>div,.panneau,.connexion{background:var(--sdx-surface);border:1px solid var(--sdx-border);border-radius:20px;box-shadow:inset 0 1px 0 var(--sdx-highlight-soft),0 22px 60px -35px var(--sdx-shadow-strong)}
.filtres{display:block;padding:0}label{display:flex;flex-direction:column;gap:8px;color:var(--sdx-muted);font-size:13px;flex:1;min-width:135px}input,select{font:inherit;font-size:15px;line-height:1.4;min-height:46px;padding:11px 13px;border:1px solid var(--sdx-border-strong);border-radius:12px;background:var(--sdx-sidebar-bg);color:var(--sdx-ink);width:100%;min-width:0;caret-color:var(--sdx-info);box-shadow:inset 0 2px 8px var(--sdx-inset)}input::placeholder{color:var(--sdx-faint);opacity:1}select option{background:var(--sdx-surface);color:var(--sdx-ink)}
:focus-visible{outline:3px solid var(--sdx-focus);outline-offset:4px}input:focus-visible,select:focus-visible{border-color:var(--sdx-focus)}
.chiffres{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0}.chiffres>div{padding:22px 24px}.chiffres span{color:var(--sdx-muted);font-size:13px}.chiffres strong{display:block;color:var(--sdx-ink);font-size:32px;line-height:1.3;font-weight:600;letter-spacing:-.035em;margin-top:9px;font-variant-numeric:tabular-nums}
.panneau{margin:22px 0;padding:24px}h1,h2{color:var(--sdx-ink);font-weight:600;letter-spacing:-.035em}h1{font-size:30px;line-height:1.2;margin:27px 0 16px}h2{font-size:19px;letter-spacing:-.025em;margin:0 0 12px}.panneau>p{font-size:13px;color:var(--sdx-muted)}#carte{height:620px;border-radius:14px;border:1px solid var(--sdx-border-strong);background:var(--sdx-map-bg);z-index:0}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--sdx-map-popup-bg);color:var(--sdx-map-popup-ink);box-shadow:0 3px 14px var(--sdx-shadow-strong);border:1px solid var(--sdx-map-popup-border)}.leaflet-popup-content{overflow-wrap:anywhere}.leaflet-container a.leaflet-popup-close-button{color:var(--sdx-muted)}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:var(--sdx-ink)}.leaflet-popup-content a{color:var(--sdx-accent)}.leaflet-popup-content p{margin:6px 0}.leaflet-container .leaflet-control-attribution{background:var(--sdx-surface);color:var(--sdx-muted)}.leaflet-control-attribution a{color:var(--sdx-accent)}
.tableau{overflow:auto;border:1px solid var(--sdx-border);border-radius:13px}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left;font-variant-numeric:tabular-nums}th,td{padding:14px 8px;border-bottom:1px solid var(--sdx-border);vertical-align:top}th{background:var(--sdx-th-bg);color:var(--sdx-muted);font-size:12px;font-weight:600;white-space:nowrap}td{color:var(--sdx-ink)}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--sdx-raised)}td.prix-m2,th.prix-m2{background:var(--sdx-accent-soft);color:var(--sdx-accent-hover);font-weight:750}td a{white-space:nowrap}
.connexion{max-width:530px;margin:7vh auto 0;padding:40px}.connexion .haut-connexion{margin-bottom:32px}.connexion h1{margin-top:16px}.connexion>p{color:var(--sdx-muted);margin:0 0 24px}.connexion form{display:grid;gap:22px}.connexion label{font-size:14px}.connexion button{min-height:48px}.connexion .avis{background:var(--sdx-accent-soft);border:1px solid var(--sdx-border-strong);color:var(--sdx-muted);padding:14px 16px;border-radius:12px;font-size:13px}.connexion [role="status"]{color:var(--sdx-ink);border-left:3px solid var(--sdx-info);padding-left:14px}.surtitre{display:block;color:var(--sdx-info);font-size:12px;font-weight:650;letter-spacing:.06em;text-transform:uppercase}
/* Sans ces capacités : les surfaces opaques définies ci-dessus restent lisibles. */
@supports (background:color-mix(in srgb,currentColor 50%,transparent)) and ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .filtres,.chiffres>div,.panneau,.connexion{background:linear-gradient(135deg,color-mix(in srgb,var(--sdx-ink) 3%,transparent),transparent 50%),linear-gradient(135deg,color-mix(in srgb,var(--sdx-raised) 76%,transparent),color-mix(in srgb,var(--sdx-surface) 84%,transparent));border-color:color-mix(in srgb,var(--sdx-ink) 22%,var(--sdx-border));backdrop-filter:blur(12px) saturate(135%);-webkit-backdrop-filter:blur(12px) saturate(135%)}
}
@media(max-width:699px){main{padding:22px 16px 36px}header{align-items:start;flex-wrap:wrap;gap:18px;margin-bottom:24px}.compte{text-align:left;width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.compte form{margin-left:auto}.chiffres{grid-template-columns:1fr;gap:10px}.chiffres>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 18px}.chiffres span{max-width:55%}.chiffres strong{font-size:24px;margin:0;white-space:nowrap}.filtres-grille{padding:4px 18px 18px;grid-template-columns:1fr}.actions button,.actions .bouton-secondaire{width:100%}.panneau{padding:17px;border-radius:18px}#carte{height:420px}.tableau{border:0;overflow:visible}table,tbody,tr,td{display:block;width:100%}thead{display:none}tr{border:1px solid var(--sdx-border-strong);border-radius:13px;overflow:hidden;background:var(--sdx-surface);margin:14px 0}td{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);padding:11px 12px;font-size:13px;overflow-wrap:anywhere;gap:0}td:before{content:attr(data-label);font-weight:600;color:var(--sdx-muted);padding-right:12px}td a{white-space:normal}.connexion{margin:5vh auto 0;padding:26px 22px}h1{font-size:27px}.onglets{gap:8px;padding-bottom:20px}.onglets a{padding:9px 13px;font-size:13px}}
@media(prefers-contrast:more),(prefers-reduced-transparency:reduce),(forced-colors:active){body:before,body:after{content:none}.filtres,.chiffres>div,.panneau,.connexion{background:var(--sdx-surface);border-color:var(--sdx-border-strong);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}}
@media print{body:before,body:after{content:none}.filtres,.chiffres>div,.panneau,.connexion{backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Montants indivisibles, lien visible sur les tableaux larges, fiches mobiles conservées. */
.mesure,.chiffres strong{white-space:nowrap;overflow-wrap:normal}
/* Les bulles restent opaques, indépendamment des surfaces de verre. */
.bulle-groupe{max-width:100%;overscroll-behavior:contain;font-size:11px;line-height:1.5}
.bulle-groupe .bulle-titre{font-size:13px;font-weight:700}
.bulle-bien{display:flex;align-items:baseline;gap:4px;white-space:nowrap;padding:4px 0;border-top:1px solid var(--sdx-hairline)}
.bulle-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.bulle-bien>:not(.bulle-type){flex:none}
.legende-carte{display:flex;flex-wrap:wrap;gap:8px 18px}.legende-carte>span{display:inline-flex;align-items:center;gap:8px}
@media(min-width:700px){td.annonce,th.annonce{position:sticky;right:0;background:var(--sdx-surface);box-shadow:-6px 0 12px rgba(0,0,0,.25);z-index:1}th.annonce{z-index:2}}
/* Lien d'un bien : le nom du site en petit, puis l'action (lien ou copie). L'adresse complète n'est jamais affichée. */
.lien-site{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;max-width:100%}
.site-nom{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sdx-muted);font-size:11px;line-height:1.3}
td a.voir-lien,.voir-lien{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;max-width:100%;font-size:12.5px;font-weight:600;line-height:1.25;white-space:normal}
.copier-adresse{min-height:26px;padding:2px 11px;border:1px solid var(--sdx-border-strong);background:var(--sdx-raised);color:var(--sdx-ink);box-shadow:none;font-size:12px;font-weight:600;line-height:1.3}
.copier-adresse:hover{background:var(--sdx-raised);border-color:var(--sdx-accent);color:var(--sdx-ink)}
.etat-copie{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Repères numérotés de la carte (24/10/2026) : le symbole de la nature du bien (forme et couleur, classes « nat-… » plus bas),
   20 px hors tout comme les points, avec le numéro de la ligne en blanc cerclé de foncé, lisible sur toutes les couleurs. */
.repere-carte{display:inline-grid;place-items:center;width:20px;height:20px;vertical-align:middle;flex:none}
.leaflet-marker-icon.repere-carte{display:grid;background:transparent;border:0}
.repere-carte>span{display:grid;place-items:center;width:20px;height:20px;font-weight:700;font-size:10px;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.repere-carte b{font-weight:inherit;display:block}
/* Repère choisi : même taille, entouré d'un anneau. */
.repere-choisi::after{content:"";position:absolute;inset:-6px;border:3px solid var(--sdx-data-4);border-radius:50%;box-shadow:0 0 0 1px var(--nat-contour),inset 0 0 0 1px var(--nat-contour);pointer-events:none}
.credit-carte{font-size:12px}
#carte:focus{outline:none}
.bulle-simple p,.bulle-groupe p{overflow-wrap:anywhere}
.bulle-titre{font-weight:700}
.bulle-meta{color:var(--sdx-muted)}
.bulle-simple .badge,.bulle-groupe .badge{margin:0}

/* Sélecteur de couches : les icônes (layers.png, layers-2x.png de Leaflet 1.9.4, licence BSD) sont servies par le portail (la
   règle de sécurité n'autorise pas la bibliothèque), et les règles des champs et des étiquettes du formulaire ne s'y appliquent pas. */
.leaflet-control-layers-toggle{background-image:url(/static/layers.png?v=1dbbe9d0)}
.leaflet-retina .leaflet-control-layers-toggle{background-image:url(/static/layers-2x.png?v=066daca8);background-size:26px 26px}
.leaflet-control-layers label{display:block;flex:none;min-width:0;gap:0;color:#333;font-size:13px}
.leaflet-control-layers-selector{all:revert;margin-top:2px;position:relative;top:1px}

/* Liste des biens : mise en page fixe, filtres, tris. */
[hidden]{display:none!important}
.filtres>summary{display:flex;align-items:center;min-height:52px;padding:12px 22px;cursor:pointer;font-weight:650}
.filtres-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px 18px;align-items:start;padding:4px 22px 22px}
.groupe{min-width:0;margin:0;padding:10px 12px 12px;border:1px solid var(--sdx-border);border-radius:12px}
.groupe legend{padding:0 6px;color:var(--sdx-muted);font-size:13px}
.groupe.plage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.groupe.plage label{min-width:0}
.groupe.plage legend,.groupe.plage .indice{grid-column:1/-1}
.cases{display:flex;flex-direction:column;gap:2px}
.cases.defile{max-height:210px;overflow:auto;padding-right:4px}
label.case{display:flex;flex-direction:row;align-items:center;gap:9px;flex:none;min-width:0;min-height:32px;padding:3px 2px;color:var(--sdx-ink);font-size:13.5px}
.case input{all:revert;flex:none;width:18px;height:18px;margin:0;accent-color:var(--sdx-accent)}
.case input:focus-visible{outline:3px solid var(--sdx-focus);outline-offset:2px}
.case span{flex:1;min-width:0;overflow-wrap:anywhere}
.case small,.indice{color:var(--sdx-muted);font-size:12px}
.recherche-liste{min-height:38px;margin-bottom:8px;padding:7px 11px;font-size:14px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;grid-column:1/-1}
.bouton-secondaire{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 20px;border:1px solid var(--sdx-border-strong);border-radius:999px;background:var(--sdx-surface);color:var(--sdx-ink);font-weight:650;text-decoration:none;white-space:nowrap}
.bouton-secondaire:hover{border-color:var(--sdx-accent);color:var(--sdx-ink)}
.chiffres.lettres{margin-top:-4px}
.lettres>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px}
.lettres span{display:flex;align-items:center;gap:10px}
.lettres strong{margin:0;font-size:26px}
.note{display:inline-grid;place-items:center;flex:none;min-width:30px;height:30px;padding:0 6px;border:1px solid var(--sdx-border-strong);border-radius:7px;background:var(--sdx-raised);color:var(--sdx-ink);font-size:13px;font-weight:700;line-height:1;cursor:help}
.note.note-vide{color:var(--sdx-muted)}
.cel{display:block;min-width:0}
.partie{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:top}
td.surface .cel{font-size:12px}
.titre-bien{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.type-bien,.commune-texte{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.type-bien{font-weight:600}
/* Les types de bien s'écrivent avec une capitale (« Bureaux », « Local professionnel »), dans la liste et dans la facette. */
.type-bien::first-letter,#liste-type .case span::first-letter{text-transform:uppercase}
td.type .sous-texte{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
td.prix .sous-texte{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;font-size:11.5px;line-height:1.2}
.sous-texte{display:block;color:var(--sdx-muted);font-size:12px;font-weight:400;line-height:1.3}
td.date .cel{white-space:nowrap}
td.date .sous-texte{white-space:normal}
.badge{display:inline-block;margin-top:5px;padding:2px 10px;border:1px solid var(--sdx-border-strong);border-radius:999px;background:var(--sdx-raised);color:var(--sdx-ink);font-size:12px;font-weight:650;line-height:1.5}
/* Signal, vente : une seule ligne sous le titre (nature, procédure et étape si la place le permet, date) et l'info-bulle de lecture. */
.ligne-nature{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;height:21px;min-width:0;margin-top:3px;overflow:hidden;font-size:12px;line-height:1.4}
.ligne-nature .badge{flex:0 1 auto;max-width:100%;min-width:0;margin:0;padding:1px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.45}
.detail-date{flex:none;white-space:nowrap;color:var(--sdx-muted)}
.info-lecture{flex:none}
.detail-extra{flex:0 0 auto;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sdx-muted)}
.info-lecture>summary{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid var(--sdx-border-strong);border-radius:50%;background:var(--sdx-raised);color:var(--sdx-muted);cursor:pointer;list-style:none}
.info-lecture>summary::-webkit-details-marker{display:none}
.info-lecture>summary::before{content:"i";font:italic 700 12px/1 Georgia,"Times New Roman",serif}
.info-lecture>summary:hover,.info-lecture[open]>summary{border-color:var(--sdx-accent);color:var(--sdx-ink)}
/* Le contour de focus reste à l'intérieur : la ligne de nature coupe ce qui la dépasse. */
.info-lecture>summary:focus-visible{outline:2px solid var(--sdx-focus);outline-offset:-1px}
.lecture{display:block;margin-top:3px;color:var(--sdx-faint);font-size:12px;line-height:1.4;white-space:normal}
/* Info-bulle ouverte : la phrase passe sur sa propre ligne et la ligne du tableau s'agrandit le temps de la lire. */
.ligne-nature:has(.info-lecture[open]){height:auto;overflow:visible}
.info-lecture[open]{flex:0 0 100%;order:9}
th.num,td.num{color:var(--sdx-muted);font-variant-numeric:tabular-nums;text-align:right}
.tri{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:4px}
.tri-groupe{display:inline-flex;align-items:center;gap:2px}
.tri-nom{margin-right:2px;color:var(--sdx-faint);font-size:10.5px;font-weight:400}
.tri a{display:inline-grid;place-items:center;min-width:18px;min-height:22px;border:1px solid transparent;border-radius:6px;color:var(--sdx-muted);font-size:14px;text-decoration:none}
.tri a:hover{border-color:var(--sdx-border-strong);color:var(--sdx-ink)}
.tri a.actif{background:var(--sdx-accent);color:var(--sdx-accent-ink)}
/* Cellule du lien : le nom du site et l'épingle sur la première ligne (épingle à droite), l'action sur la seconde. */
td.annonce .cel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 6px}
.lien-bien,.lien-site{display:contents}
.lien-bien>.lien-site>.site-nom{grid-column:1;grid-row:1}
.lien-bien>.lien-site>.voir-lien,.lien-bien>.lien-site>.copier-adresse{grid-column:1/-1;grid-row:2;justify-self:start}
td.annonce .cel>.situer{grid-column:2;grid-row:1}
.situer{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border:1px solid var(--sdx-border-strong);border-radius:50%;background:var(--sdx-raised);color:var(--sdx-ink);text-decoration:none}
.situer:hover{border-color:var(--sdx-accent);color:var(--sdx-accent)}
.situer svg{display:block}
tr.choisie td{background:var(--sdx-accent-soft)}
tr.choisie td.num{box-shadow:inset 3px 0 0 var(--sdx-data-4)}
.replie-c{margin-top:18px;border:1px solid var(--sdx-border);border-radius:13px;background:var(--sdx-sidebar-bg)}
.replie-c>summary{min-height:48px;padding:13px 18px;cursor:pointer;font-weight:650}
.replie-c[open]>summary{border-bottom:1px solid var(--sdx-border)}
.replie-c .tableau{border:0}
/* Écrans larges : colonnes à largeur fixe, toutes les lignes de la même hauteur (72 px : un titre de deux lignes et la ligne de
   nature d'un signal y tiennent). Le tableau tient à 1 280 px, la colonne « Bien » prenant la place qui reste ; plus étroit,
   il défile à l'intérieur de son cadre. */
table{--hauteur-ligne:72px}
@media(min-width:700px){
  table{table-layout:fixed;min-width:1080px;font-size:12.5px}
  th{padding:10px 4px;vertical-align:bottom;font-size:11.5px}
  td{height:var(--hauteur-ligne);padding:6px 4px;vertical-align:middle}
  td .cel{line-height:1.35}
  th.type{white-space:normal}
  th.num{width:30px}th.classement{width:68px}th.type{width:116px}th.prix{width:78px}th.prix-m2{width:72px}th.surface{width:112px}
  th.commune{width:116px}th.date{width:84px}th.statut{width:96px}th.annonce{width:124px}th.extra{width:100px}
  td .pastille-statut{padding:2px 6px;font-size:11px}
}
/* À partir de 1 520 px la colonne « Bien » est large : la pastille de nature garde sa pastille de couleur, la date son mot
   « publiée le », et la colonne des prix a la place d'écrire la date d'une vente sur ses deux lignes. */
@media(min-width:1520px){th.prix{width:134px}}
/* En dessous : marges réduites, et sur la ligne d'un signal seulement l'essentiel (nature et date). */
@media(min-width:700px) and (max-width:1519px){
  main{padding-left:16px;padding-right:16px}
  .panneau{padding-left:12px;padding-right:12px}
  .ligne-nature .badge{padding:1px 8px;font-size:11px}
  .ligne-nature .badge::before,.detail-date .mot{display:none}
}
.tri-phrase{margin:0 0 6px}
.mention-legale{margin:28px 4px 0;color:var(--sdx-muted);font-size:12px}
.mention-legale p{margin:0}
@media(max-width:699px){td{height:auto}.titre-bien{display:block;-webkit-line-clamp:unset;line-clamp:unset}.type-bien,.commune-texte,td.type .sous-texte,.detail-extra{overflow:visible;text-overflow:clip;white-space:normal}td.prix .sous-texte{display:block;-webkit-line-clamp:unset;line-clamp:unset}.ligne-nature{height:auto;overflow:visible}.ligne-nature .badge{overflow:visible;text-overflow:clip;white-space:normal}td.date .cel{white-space:normal}.situer{width:36px;height:36px}td.num{width:100%;text-align:left}.chiffres.lettres{margin-top:0}.lettres>div{padding:13px 16px}.tri-phrase{margin-top:12px}.replie-c{margin-top:14px}}

/* Natures de biens (24/10/2026) : une couleur et un symbole par nature, les mêmes sur la carte (points et repères numérotés),
   dans la légende, les boutons et les pastilles de la liste. « --forme » découpe le symbole, dessiné en deux couches : le contour
   foncé, puis la couleur, en retrait de « --forme-int » (haut, côtés, bas) pour un liseré de même épaisseur sur chaque côté
   (un peu plus fin pour l'étoile, aux branches étroites).
   « --chiffre-dy » descend le numéro d'un repère vers le centre visuel du symbole. */
:root{--nat-annonce:#3987E5;--nat-judiciaire:#FF5F1F;--nat-autre:#F7C600;--nat-encheres:#E74C3C;--nat-permis:#8B5CF6;--nat-appel-offres:#06B6D4;--nat-catastrophe:#EC4899;--nat-contour:#0C1424;--nat-chiffre:#FFFFFF}
.nat-annonce{--nat:var(--nat-annonce);--nat-rgb:57,135,229;--forme:circle(50%);--forme-int:7.5%}
.nat-encheres{--nat:var(--nat-encheres);--nat-rgb:231,76,60;--forme:inset(0);--forme-int:7.5%}
.nat-judiciaire{--nat:var(--nat-judiciaire);--nat-rgb:255,95,31;--forme:polygon(50% 0,100% 100%,0 100%);--forme-int:16.77% 12.14% 7.5%;--chiffre-dy:6px}
.nat-autre{--nat:var(--nat-autre);--nat-rgb:247,198,0;--forme:polygon(50% 0,100% 50%,50% 100%,0 50%);--forme-int:10.61%}
.nat-permis{--nat:var(--nat-permis);--nat-rgb:139,92,246;--forme:polygon(50% 0,100% 42.5%,100% 100%,0 100%,0 42.5%);--forme-int:9.85% 7.5% 7.5%;--chiffre-dy:4px}
.nat-appel-offres{--nat:var(--nat-appel-offres);--nat-rgb:6,182,212;--forme:polygon(50% 2.45%,67% 31.63%,100% 38.78%,77.5% 63.96%,80.9% 97.55%,50% 83.94%,19.1% 97.55%,22.5% 63.96%,0 38.78%,33% 31.63%);--forme-int:12.48% 11.34% 10.2%;--chiffre-dy:2px}
.nat-catastrophe{--nat:var(--nat-catastrophe);--nat-rgb:236,72,153;--forme:polygon(50% 0,93.3% 25%,93.3% 75%,50% 100%,6.7% 75%,6.7% 25%);--forme-int:8.66%}
.pt,.bulle-groupe .mini,.repere-carte>span{position:relative;isolation:isolate}
.pt::before,.pt::after,.bulle-groupe .mini::before,.bulle-groupe .mini::after,.repere-carte>span::before,.repere-carte>span::after{content:"";position:absolute;z-index:-1;clip-path:var(--forme,circle(50%));forced-color-adjust:none}
.pt::before,.bulle-groupe .mini::before,.repere-carte>span::before{inset:0;background:var(--nat-contour)}
.pt::after,.bulle-groupe .mini::after,.repere-carte>span::after{inset:var(--forme-int,7.5%);background:var(--nat,var(--sdx-marker-default))}
.pt{display:inline-block;flex:none;width:14px;height:14px}
.repere-carte>span,.bulle-groupe .mini{padding-top:var(--chiffre-dy,0)}
.repere-carte b,.bulle-groupe .mini,.pgroupe>span{color:var(--nat-chiffre);text-shadow:-1px 0 var(--nat-contour),1px 0 var(--nat-contour),0 -1px var(--nat-contour),0 1px var(--nat-contour),0 0 2px var(--nat-contour)}
.badge-nat::before{content:"";display:inline-block;width:11px;height:11px;margin-right:7px;vertical-align:-1px;background:var(--nat);clip-path:var(--forme,circle(50%))}
.badge-nat{border-radius:14px;color:var(--sdx-ink)}

/* Boutons rapides au-dessus de la carte et de la liste (liens : même famille que les onglets des mandats). */
.filtres-rapides{display:flex;flex-wrap:wrap;gap:9px;margin:4px 0 16px}
.filtre-rapide{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:9px 16px;border:1px solid var(--sdx-border-strong);border-radius:999px;background:var(--sdx-surface);color:var(--sdx-muted);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap}
a.filtre-rapide:hover{border-color:var(--sdx-accent);color:var(--sdx-ink)}
.filtre-rapide .nb{font-variant-numeric:tabular-nums;font-weight:650;color:var(--sdx-ink)}
.filtre-rapide.actif{background:linear-gradient(120deg,var(--sdx-accent),var(--sdx-accent-2));border-color:var(--sdx-accent);color:var(--sdx-accent-ink);font-weight:650;box-shadow:inset 0 1px 0 var(--sdx-highlight),0 8px 22px -12px var(--sdx-accent)}
.filtre-rapide.actif .nb{color:var(--sdx-accent-ink)}
a.filtre-rapide.actif:hover{background:var(--sdx-accent-hover);color:var(--sdx-accent-ink)}
.filtre-rapide.inactif{opacity:.6}

/* Repères de la carte : points regroupés, compteur « +N » et légende. */
/* Plusieurs biens au même endroit : un disque plein entouré d'un halo de la couleur de la nature (jamais confondu avec le repère numéroté). */
.leaflet-marker-icon.pgroupe{display:grid;place-items:center;box-sizing:border-box;border:0;border-radius:50%;background:rgba(var(--nat-rgb),.4);box-shadow:0 0 0 1px rgba(245,247,255,.45)}
.pgroupe>span{display:grid;place-items:center;box-sizing:border-box;width:calc(100% - 9px);height:calc(100% - 9px);border-radius:50%;border:1.5px solid #F5F7FF;background:var(--nat);font-weight:700;font-size:11px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.pgroupe.gros>span{font-size:9px;letter-spacing:-.04em}
.repere-carte>i.repere-plus{position:absolute;top:-9px;right:-18px;min-width:22px;height:17px;padding:0 5px;border-radius:9px;border:1px solid var(--sdx-border-strong);background:var(--sdx-canvas);color:var(--sdx-ink);font-style:normal;font-size:10px;font-weight:700;line-height:15px;text-align:center;font-variant-numeric:tabular-nums;box-shadow:0 1px 3px var(--sdx-shadow-strong)}
.legende-carte{margin:14px 0 6px}
.legende-carte .repere-carte{position:relative}
.legende-carte .pgroupe{position:relative;display:inline-grid;place-items:center;box-sizing:border-box;width:32px;height:32px;margin:1px;border-radius:50%;background:rgba(var(--nat-rgb),.4);box-shadow:0 0 0 1px rgba(245,247,255,.45)}
.legende-carte .repere-plus-exemple{margin-right:18px}
.phrase-carte{margin:6px 0 0;color:var(--sdx-muted);font-size:13px}
#etat-carte{margin:6px 0 0}

/* Bulles. */
.bulle-simple{font-size:13px;line-height:1.45}
.bulle-tete{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 6px}
.bulle-simple .bulle-tete{margin-top:0}
.bulle-simple .note{min-width:26px;height:26px;cursor:default}
.bulle-adequation{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--sdx-muted)}
.bulle-simple .vers-liste,.bulle-groupe .vers-liste{font-weight:600}
.leaflet-popup-scrolled{border-color:var(--sdx-border)}
.bulle-groupe .mini{display:inline-grid;place-items:center;flex:none;width:20px;height:20px;font-size:10px;font-weight:700;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.bulle-groupe .bulle-bien{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:8px;align-items:start;flex-wrap:nowrap;white-space:normal;padding:7px 0}
.bulle-groupe .bulle-bien>.mini,.bulle-groupe .bulle-bien>.pt{justify-self:center;margin-top:2px}
.bulle-groupe .bulle-bien>.pt{margin-top:4px}
.bulle-groupe .bulle-corps{display:flex;flex-direction:column;gap:1px;min-width:0}
.bulle-groupe .bulle-type{display:block;flex:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bulle-groupe .bulle-sous{display:flex;flex-wrap:wrap;gap:0 8px;color:var(--sdx-muted);font-size:11.5px}
.bulle-lien{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.bulle-lien .site-nom{max-width:none;font-size:12px}
.bulle-lecture{color:var(--sdx-muted);font-size:12px}
.bulle-groupe .copier-adresse{min-height:20px;padding:0 8px;font-size:11px}
/* Lien direct d'une ligne de groupe : le nom du site en petit au-dessus, comme dans la liste. */
.lien-court{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.25}
.bulle-groupe .lien-court .site-nom{font-size:10.5px}

/* Pastilles de statut : une couleur par valeur connue, une teinte neutre pour toute autre. */
.pastille-statut{display:inline-flex;align-items:center;max-width:100%;padding:4px 10px;border:1px solid;border-radius:16px;font-size:12px;line-height:1.4;font-weight:550;white-space:nowrap}
.statut-nouvelle{color:rgb(104,229,230);border-color:rgb(104,229,230);background:rgb(20,47,58)}
.statut-modifiee{color:rgb(255,204,128);border-color:rgb(255,204,128);background:rgb(53,41,25)}
.statut-baisse{color:rgb(132,214,176);border-color:rgb(132,214,176);background:rgb(19,44,36)}
.statut-autre{color:rgb(189,202,223);border-color:rgb(189,202,223);background:rgb(38,48,71)}

/* « Voir dans la liste » : la ligne visée par l'ancre est mise en évidence. */
tr[id^="b-"]{scroll-margin-top:18px}
tr:target td{background:var(--sdx-accent-soft)}
tr:target td:first-child{box-shadow:inset 3px 0 0 var(--sdx-data-4)}
@media(max-width:699px){.filtres-rapides{gap:8px}.filtre-rapide{padding:9px 13px;font-size:13px}.repere-carte>i.repere-plus{right:-14px}}

/* Choix du thème : quatre pastilles rondes (principal, clair, sombre, ardoise), en haut à droite et sur la page de connexion. */
.themes{display:inline-flex;align-items:center;gap:8px;margin-left:16px;vertical-align:middle}
button.pastille-theme{width:24px;height:24px;min-height:0;padding:0;border:2px solid var(--sdx-border-strong);border-radius:50%;box-shadow:none;cursor:pointer}
button.pastille-theme:hover{border-color:var(--sdx-accent)}
button.pastille-theme[data-theme-choix="aether"]{background:linear-gradient(135deg,#0C1424 50%,#92C1FF 50%)}
button.pastille-theme[data-theme-choix="clair"]{background:linear-gradient(135deg,#FFFFFF 50%,#1D5FBF 50%)}
button.pastille-theme[data-theme-choix="sombre"]{background:linear-gradient(135deg,#121212 50%,#8AB4F8 50%)}
button.pastille-theme[data-theme-choix="ardoise"]{background:linear-gradient(135deg,#2E3A4D 50%,#B0D4FF 50%)}
:root[data-theme="aether"] button.pastille-theme[data-theme-choix="aether"],:root[data-theme="clair"] button.pastille-theme[data-theme-choix="clair"],
:root[data-theme="sombre"] button.pastille-theme[data-theme-choix="sombre"],:root[data-theme="ardoise"] button.pastille-theme[data-theme-choix="ardoise"]{border-color:var(--sdx-ink);box-shadow:0 0 0 2px var(--sdx-canvas),0 0 0 4px var(--sdx-ink)}
.haut-connexion{display:flex;align-items:center;justify-content:space-between;gap:16px}
@media(max-width:699px){.themes{margin-left:0}button.pastille-theme{width:32px;height:32px}.haut-connexion{flex-wrap:wrap}}

/* Thèmes classiques : mêmes jetons, d'autres couleurs. Surfaces unies (ni verre, ni halo, ni grain) ; les tuiles de la carte ne changent pas. */
:root[data-theme="clair"],:root[data-theme="sombre"],:root[data-theme="ardoise"]{
  font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--sdx-ink);background:var(--sdx-canvas)}
:root[data-theme="clair"]{
  --chaleur-encre-1:var(--sdx-ink);--chaleur-encre-2:var(--sdx-ink);--chaleur-encre-3:var(--sdx-ink);--chaleur-encre-4:#ffffff;
  --sdx-ecart-sous:#136846;--sdx-ecart-dessus:#8a4a00;
  color-scheme:light;--sdx-canvas:#F3F5F9;--sdx-surface:#FFFFFF;--sdx-raised:#EDF1F7;
  --sdx-ink:#1A2233;--sdx-muted:#46526A;--sdx-faint:#566277;--sdx-border:#D3DAE5;
  --sdx-border-strong:#7C8AA0;--sdx-sidebar-bg:#F6F8FB;--sdx-accent:#1D5FBF;
  --sdx-accent-hover:#144A98;--sdx-accent-ink:#FFFFFF;--sdx-accent-soft:#E2ECFA;
  --sdx-info:#0B6C78;--sdx-data-4:#6445CC;--sdx-focus:#0B5CD6;--sdx-shadow-strong:rgba(26,34,51,.22);
  --sdx-disabled-bg:#E3E8EF;--sdx-disabled-ink:var(--sdx-faint);--sdx-map-popup-bg:var(--sdx-surface);--sdx-map-popup-ink:var(--sdx-ink);--sdx-map-control-bg:var(--sdx-surface);--sdx-map-popup-border:var(--sdx-border-strong);
  --sdx-map-bg:#DDE3EC;--sdx-map-m1:#3987E5;--sdx-map-m2:#E0662E;--sdx-map-m3:#1BAF7A;--sdx-map-m4:#D644C2;
  --sdx-th-bg:#EDF1F7;--sdx-accent-2:#2C6FD0;--sdx-highlight:rgba(255,255,255,.28);--sdx-highlight-soft:rgba(255,255,255,0);
  --sdx-highlight-faint:rgba(255,255,255,0);--sdx-hairline:rgba(26,34,51,.12);--sdx-ring:rgba(26,34,51,.55);
  --sdx-marker-ink:#0C1424;--sdx-marker-default:#A991F7;--sdx-inset:rgba(26,34,51,.08)}
:root[data-theme="sombre"]{
  --chaleur-encre-1:var(--sdx-ink);--chaleur-encre-2:var(--sdx-ink);--chaleur-encre-3:#081321;--chaleur-encre-4:#081321;
  --sdx-ecart-sous:#76dfbb;--sdx-ecart-dessus:#ffc27a;
  color-scheme:dark;--sdx-canvas:#121212;--sdx-surface:#1B1B1B;--sdx-raised:#262626;
  --sdx-ink:#F2F2F2;--sdx-muted:#C4C4C4;--sdx-faint:#B3B3B3;--sdx-border:#333333;
  --sdx-border-strong:#6E6E6E;--sdx-sidebar-bg:#0E0E0E;--sdx-accent:#8AB4F8;
  --sdx-accent-hover:#A8C7FA;--sdx-accent-ink:#0F1115;--sdx-accent-soft:#222C3E;
  --sdx-info:#7FD6DC;--sdx-data-4:#B39DF5;--sdx-focus:#7FD6DC;--sdx-shadow-strong:rgba(0,0,0,.7);
  --sdx-disabled-bg:#242424;--sdx-disabled-ink:var(--sdx-faint);--sdx-map-popup-bg:var(--sdx-surface);--sdx-map-popup-ink:var(--sdx-ink);--sdx-map-control-bg:var(--sdx-surface);--sdx-map-popup-border:var(--sdx-border-strong);
  --sdx-map-bg:#0E0E0E;--sdx-map-m1:#3987E5;--sdx-map-m2:#E0662E;--sdx-map-m3:#1BAF7A;--sdx-map-m4:#D644C2;
  --sdx-th-bg:#232323;--sdx-accent-2:#8AB4F8;--sdx-highlight:rgba(255,255,255,.14);--sdx-highlight-soft:rgba(255,255,255,0);
  --sdx-highlight-faint:rgba(255,255,255,0);--sdx-hairline:rgba(255,255,255,.12);--sdx-ring:rgba(255,255,255,.85);
  --sdx-marker-ink:#0C1424;--sdx-marker-default:var(--sdx-data-4);--sdx-inset:rgba(0,0,0,.4)}
:root[data-theme="ardoise"]{
  --chaleur-encre-1:var(--sdx-ink);--chaleur-encre-2:#081321;--chaleur-encre-3:#081321;--chaleur-encre-4:#081321;
  --sdx-ecart-sous:#91f2ce;--sdx-ecart-dessus:#ffcf91;
  color-scheme:dark;--sdx-canvas:#2E3A4D;--sdx-surface:#38475C;--sdx-raised:#445670;
  --sdx-ink:#F5F8FC;--sdx-muted:#D5DEEA;--sdx-faint:#C9D3E1;--sdx-border:#51627B;
  --sdx-border-strong:#8B9DB8;--sdx-sidebar-bg:#2A3547;--sdx-accent:#B0D4FF;
  --sdx-accent-hover:#CBE3FF;--sdx-accent-ink:#14202F;--sdx-accent-soft:#36506E;
  --sdx-info:#7FE0E6;--sdx-data-4:#C2B0FA;--sdx-focus:#7FE0E6;--sdx-shadow-strong:rgba(10,16,26,.5);
  --sdx-disabled-bg:#3A4658;--sdx-disabled-ink:var(--sdx-faint);--sdx-map-popup-bg:var(--sdx-surface);--sdx-map-popup-ink:var(--sdx-ink);--sdx-map-control-bg:var(--sdx-surface);--sdx-map-popup-border:var(--sdx-border-strong);
  --sdx-map-bg:#26303F;--sdx-map-m1:#3987E5;--sdx-map-m2:#E0662E;--sdx-map-m3:#1BAF7A;--sdx-map-m4:#D644C2;
  --sdx-th-bg:#33425A;--sdx-accent-2:#B0D4FF;--sdx-highlight:rgba(255,255,255,.18);--sdx-highlight-soft:rgba(255,255,255,0);
  --sdx-highlight-faint:rgba(255,255,255,0);--sdx-hairline:rgba(255,255,255,.14);--sdx-ring:rgba(255,255,255,.85);
  --sdx-marker-ink:#0C1424;--sdx-marker-default:var(--sdx-data-4);--sdx-inset:rgba(10,16,26,.35)}
/* Ni halo ni grain, et des cartes sans verre. */
:root:not([data-theme="aether"]) body:before,:root:not([data-theme="aether"]) body:after{content:none}
:root:not([data-theme="aether"]) .filtres,:root:not([data-theme="aether"]) .chiffres>div,:root:not([data-theme="aether"]) .panneau,:root:not([data-theme="aether"]) .connexion{
  background:var(--sdx-surface);border-color:var(--sdx-border);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
:root[data-theme="clair"] .filtres,:root[data-theme="clair"] .chiffres>div,:root[data-theme="clair"] .panneau,:root[data-theme="clair"] .connexion{box-shadow:0 1px 2px rgba(26,34,51,.06)}
/* Le logo est blanc : en thème clair, il est assombri pour rester lisible. */
:root[data-theme="clair"] .marque .logo{filter:brightness(0)}
@media(min-width:700px){:root[data-theme="clair"] td.annonce,:root[data-theme="clair"] th.annonce{box-shadow:-6px 0 12px rgba(26,34,51,.10)}}
/* Pastilles de statut : mêmes teintes, version claire sur fond clair. */
:root[data-theme="clair"] .statut-nouvelle{color:#0A6C74;border-color:#0A6C74;background:#DDF4F5}
:root[data-theme="clair"] .statut-modifiee{color:#8A5200;border-color:#8A5200;background:#FFF0D6}
:root[data-theme="clair"] .statut-baisse{color:#176B45;border-color:#176B45;background:#DDF3E8}
:root[data-theme="clair"] .statut-autre{color:#455168;border-color:#455168;background:#E7EBF2}

/* Maquette du suivi : toutes les couleurs suivent les quatre thèmes du portail. */
.navigation-espace{align-items:center}
.cette-nuit{margin:0 0 24px;padding:20px 24px;border:1px solid var(--sdx-border-strong);border-radius:20px;background:var(--sdx-surface)}
.cette-nuit>h2{margin-bottom:3px}.cette-nuit>p{margin:0 0 16px;color:var(--sdx-muted);font-size:13px}
.chiffres-nuit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.chiffres-nuit>a,.chiffres-nuit>span{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--sdx-border);border-radius:14px;background:var(--sdx-raised);color:var(--sdx-muted);font-size:13px;text-decoration:none;overflow-wrap:anywhere}
.chiffres-nuit strong{color:var(--sdx-ink);font-size:30px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.2}
.chiffres-nuit>a:hover{border-color:var(--sdx-accent);background:var(--sdx-accent-soft);color:var(--sdx-ink)}
.chiffres-nuit>span{background:var(--sdx-disabled-bg);color:var(--sdx-disabled-ink)}
.favori-form{display:inline-flex;align-items:center;gap:6px;margin:0;vertical-align:middle;flex:none}
button.etoile-favori{width:36px;min-height:36px;flex:none;padding:0;border-color:var(--sdx-border-strong);border-radius:50%;background:var(--sdx-surface);color:var(--sdx-muted);box-shadow:none;font-size:24px;font-weight:500;line-height:1}
button.etoile-favori[aria-pressed="true"]{color:var(--sdx-accent);border-color:var(--sdx-accent);background:var(--sdx-accent-soft)}
button.etoile-favori:hover{color:var(--sdx-ink);border-color:var(--sdx-accent);background:var(--sdx-raised)}
button.etoile-favori:disabled{cursor:wait}
.etat-favori{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.etat-favori:empty{display:none}
td .favori-form{margin-left:4px}.bulle-tete .favori-form{margin-left:auto}
.bulle-simple .titre-fiche{white-space:normal;font-weight:650}.bulle-corps .favori-form{align-self:flex-start;margin-top:4px}
.titre-bien .lien-fiche{white-space:normal}
.recherches-enregistrees{margin:22px 0}.recherches-enregistrees>h2{font-size:16px}
.puces-recherches{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 16px}
.recherche-enregistree{display:inline-flex;align-items:center;gap:4px;padding:3px 5px 3px 14px;border:1px solid var(--sdx-border-strong);border-radius:999px;background:var(--sdx-surface);min-width:0;max-width:100%}
.recherche-enregistree>a{padding:5px 0;font-size:13px;overflow-wrap:anywhere;text-decoration:none}.recherche-enregistree form{display:inline-flex;margin:0}
.recherche-enregistree button{min-height:34px;padding:4px 10px;border:0;background:var(--sdx-surface);color:var(--sdx-muted);box-shadow:none;font-size:13px}
.recherche-enregistree button:hover{background:var(--sdx-raised);color:var(--sdx-ink)}
.enregistrer-recherche{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.enregistrer-recherche label{max-width:300px;flex:1 1 160px}.enregistrer-recherche button{flex:none}
.fiche-bien>h1{margin-top:0;overflow-wrap:anywhere}.fiche-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);align-items:start;gap:28px;margin:20px 0}
.fiche-titre{display:flex;align-items:flex-start;gap:14px}.fiche-titre h1{min-width:0;margin:0;overflow-wrap:anywhere}.fiche-titre>.favori-form{margin-top:2px}
.fiche-reperage{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-top:14px;color:var(--sdx-muted);font-size:13px}.fiche-reperage>span{max-width:100%;overflow-wrap:anywhere}
.fiche-grille>div{min-width:0}.fiche-grille dl{display:grid;grid-template-columns:minmax(90px,1fr) minmax(0,2fr);gap:10px 18px;margin:0 0 20px}
.fiche-grille dt{color:var(--sdx-muted);font-size:13px}.fiche-grille dd{margin:0;overflow-wrap:anywhere}
.carte-fiche [id="carte"]{height:300px;min-width:0}.fiche-bien h2{margin-top:22px}.fiche-bien p,.fiche-bien li{overflow-wrap:anywhere}
.suivi-form{display:grid;gap:16px;margin-top:16px;max-width:680px}.suivi-form>label{min-width:0}.suivi-form select{max-width:300px}.suivi-form button{justify-self:start}
textarea{font:inherit;font-size:16px;line-height:1.5;min-height:140px;resize:vertical;width:100%;padding:12px 14px;border:1px solid var(--sdx-border-strong);border-radius:12px;background:var(--sdx-sidebar-bg);color:var(--sdx-ink);box-shadow:inset 0 2px 8px var(--sdx-inset)}
textarea:focus-visible{border-color:var(--sdx-focus)}textarea::placeholder{color:var(--sdx-faint)}
.colonnes-suivi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:16px;margin-top:22px}
.colonne-suivi{padding:16px;border:1px solid var(--sdx-border);border-radius:18px;background:var(--sdx-surface);min-width:0}.colonne-suivi>h2{font-size:17px}
.colonne-suivi>p{color:var(--sdx-muted);font-size:13px}.carte-suivi{padding:16px;margin-top:14px;border:1px solid var(--sdx-border-strong);border-radius:12px;background:var(--sdx-raised);overflow-wrap:anywhere}
.carte-suivi h3{font-size:15px;font-weight:650;margin:0 0 10px}.carte-suivi p{margin:7px 0;font-size:13px}.carte-suivi form{display:grid;gap:10px;margin-top:14px}.carte-suivi label{min-width:0}.carte-suivi select{padding:9px 10px;font-size:16px}.carte-suivi button{padding:8px 12px;font-size:13px}
.carte-suivi .note-privee{color:var(--sdx-muted);white-space:pre-wrap}
.apercu-email{max-width:760px;margin:24px auto;padding:28px;border:1px solid var(--sdx-border-strong);border-radius:18px;background:var(--sdx-surface);color:var(--sdx-ink)}
.apercu-email>h1{margin-top:0;font-size:26px}.apercu-email>p{color:var(--sdx-muted)}.apercu-email h2{margin:26px 0 12px;font-size:18px}.apercu-email article,.apercu-email li{margin:12px 0;padding:12px 0;border-bottom:1px solid var(--sdx-border);overflow-wrap:anywhere}.apercu-email .bouton{margin-top:18px;white-space:normal;text-align:center}
@media(max-width:1050px){.colonnes-suivi{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* N° et étoile partagent une colonne : 49 px de contenu dans les lignes de 72 px, sans déborder sur l'adéquation. */
@media(min-width:700px){
  th.num{width:44px;text-align:center}td.num .cel{display:flex;flex-direction:column;align-items:center;gap:2px;line-height:17px}
  td.num .favori-form{margin:0}td.num button.etoile-favori{width:30px;min-height:30px;font-size:21px}
}
@media(max-width:699px){
  .cette-nuit{padding:17px;border-radius:18px}.chiffres-nuit{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.chiffres-nuit>a,.chiffres-nuit>span{padding:13px 12px;font-size:12px}.chiffres-nuit strong{font-size:26px}
  .fiche-grille{grid-template-columns:1fr;gap:20px}.carte-fiche [id="carte"]{height:280px}.colonnes-suivi{grid-template-columns:1fr;gap:14px}
  .enregistrer-recherche{align-items:stretch}.enregistrer-recherche label{max-width:none;flex-basis:100%}.enregistrer-recherche button{width:100%;white-space:normal}
  .fiche-grille dl{gap:10px}.suivi-form select{max-width:none}.suivi-form button{width:100%}.apercu-email{padding:20px 17px}.navigation-espace>a{white-space:normal}
  button.etoile-favori{width:44px;min-height:44px}.bulle-carte button.etoile-favori{width:36px;min-height:36px}
  td.num .cel{display:flex;align-items:center;gap:12px}td.num .favori-form{margin:0}.fiche-titre{gap:10px}
}

/* Barre de pages (en haut et en bas de la liste), « Aller à la page », retour à la carte ou à la liste après un clic.
   Mêmes jetons que les boutons rapides : lisible dans les quatre thèmes. Sans JavaScript. */
#liste{scroll-margin-top:12px}
#carte{scroll-margin-top:76px}
#carte-boutons{scroll-margin-top:12px}
.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:14px 0 6px}
.pagination .p-numeros{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}
.pagination .p-lien{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:9px 14px;border:1px solid var(--sdx-border-strong);border-radius:999px;background:var(--sdx-surface);color:var(--sdx-muted);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.pagination a.p-lien:hover{border-color:var(--sdx-accent);color:var(--sdx-ink)}
.pagination .p-courante{background:linear-gradient(120deg,var(--sdx-accent),var(--sdx-accent-2));border-color:var(--sdx-accent);color:var(--sdx-accent-ink);font-weight:650;box-shadow:inset 0 1px 0 var(--sdx-highlight),0 8px 22px -12px var(--sdx-accent)}
.pagination .p-lien.inactif{background:var(--sdx-disabled-bg);border-color:var(--sdx-border);color:var(--sdx-disabled-ink);cursor:default}
.pagination .p-trou{min-width:20px;text-align:center;color:var(--sdx-muted)}
.pagination .p-position{display:none}
.aller-page{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:8px 0 0}
.aller-page label{flex:none;flex-direction:row;align-items:center;min-width:0;font-size:14px}
.aller-page input[type="number"]{flex:none;width:96px;min-height:44px;padding:9px 12px;font-size:16px;text-align:center}
.aller-page button{min-height:44px;padding:9px 22px}
.mesure-usage{margin:28px 0 8px;font-size:.8rem;opacity:.72;text-align:center}
.admin-bandeau{position:static;margin:0 0 14px;padding:9px 14px;border-radius:12px;background:var(--sdx-data-4);color:var(--sdx-marker-ink);font-weight:600}
.admin-bandeau a{color:var(--sdx-marker-ink)}
.admin-client h3{margin:16px 0 8px;font-size:15px}
.admin-clics,.admin-visites{margin:0;padding-left:18px;display:grid;gap:8px}
.admin-meta,.admin-etat,.admin-vide{color:var(--sdx-muted);font-size:13px}
.admin-lien{margin-left:14px}
/* Téléphone : seulement Précédente, « page / total » et Suivante (le formulaire donne accès à toutes les pages). */
@media(max-width:699px){
  #carte{scroll-margin-top:12px}
  .pagination{justify-content:space-between}
  .pagination .p-numeros,.pagination .p-extreme{display:none}
  .pagination .p-position{display:block;color:var(--sdx-ink);font-size:14px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}
  .pagination .p-lien{padding:9px 11px;font-size:13px}
}
@media(max-width:399px){.pagination .p-position{order:-1;flex:1 0 100%}}

/* Coque commune : proportions et composants de la maquette validée. */
:root { --haut-h:76px; }
html:has(body.portail-prive) { scroll-padding-top:var(--haut-h); }
.portail-prive :is(#liste,#carte,#carte-boutons,[id^="b-"]) { scroll-margin-top:12px; }
[hidden] { display:none !important; }
.portail-prive { --barre:236px; font-size:13px; line-height:1.5; }
.portail-prive .portail-barre { position:fixed; inset:0 auto 0 0; z-index:900; display:flex; flex-direction:column; gap:1px; width:var(--barre); padding:12px 10px; overflow-y:auto; overscroll-behavior:contain; background:var(--sdx-sidebar-bg); border-right:1px solid var(--sdx-border); }
.portail-barre .marque { display:block; padding:0 8px 6px; }
.portail-barre .logo { width:148px; height:32px; }
.portail-barre .sous-titre { display:none; margin-top:5px; padding-left:0; border-left:0; font-size:10px; }
.portail-barre .sidebar-label { display:block; margin:10px 8px 3px; color:var(--sdx-muted); font-size:10px; font-weight:650; letter-spacing:.07em; text-transform:uppercase; }
.portail-nav { display:flex; flex-direction:column; gap:1px; }
.portail-nav a { line-height:1.35; display:flex; align-items:center; gap:10px; min-height:26px; padding:2px 8px; border:1px solid transparent; border-radius:9px; color:var(--sdx-muted); font-size:12.5px; text-decoration:none; }
.portail-nav a:hover,.mandat-lien:hover,.vue-ligne:hover,.favori-lien:hover { background:var(--sdx-raised); color:var(--sdx-ink); }
.portail-nav a[aria-current=page] { background:var(--sdx-accent-soft); border-color:var(--sdx-border); color:var(--sdx-ink); box-shadow:inset 3px 0 var(--sdx-accent); }
.nav-icone { flex:none; width:18px; color:var(--sdx-info); text-align:center; }
.barre-mandats,.barre-vues,.barre-favoris { display:grid; grid-template-columns:minmax(0,1fr); gap:2px; }
.mandat-lien { display:flex; align-items:flex-start; gap:7px; padding:4px 8px; border:1px solid transparent; border-radius:9px; color:var(--sdx-ink); font-size:12px; text-decoration:none; }
.mandat-lien[aria-current=true] { background:var(--sdx-raised); border-color:var(--sdx-border); }
.mandat-texte,.favori-texte { display:flex; flex-direction:column; min-width:0; }
.mandat-nom { font-weight:600; line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mandat-code { display:inline-block; padding:0 5px; border:1px solid var(--sdx-border-strong); border-radius:5px; color:var(--sdx-muted); font-size:.82em; font-weight:650; line-height:1.4; }
.mandat-texte small,.favori-texte small { font-size:10.5px; color:var(--sdx-muted); }
.sante-pastille { flex:none; width:9px; height:9px; margin-top:4px; border-radius:50%; background:var(--sdx-border-strong); box-shadow:0 0 0 3px var(--sdx-accent-soft); }
.sante-actif { background:var(--sdx-map-m3); }
.vues-liste { display:grid; grid-template-columns:minmax(0,1fr); gap:1px; margin:0; padding:0; list-style:none; }
.vue-ligne { display:flex; align-items:center; gap:2px; min-width:0; border-radius:8px; }
.vue-lien { flex:1; min-width:0; padding:3px 8px; overflow:hidden; color:var(--sdx-ink); font-size:12px; text-overflow:ellipsis; white-space:nowrap; text-decoration:none; }
.vue-lien:before { content:'⌕ '; color:var(--sdx-muted); }
.vue-ligne form { flex:none; }
button.vue-supprimer { width:26px; min-height:26px; padding:0; border:0; background:none; color:var(--sdx-muted); font-size:17px; box-shadow:none; }
.vues-compte { flex:none; padding:0; color:var(--sdx-muted); font-size:11px; }
.enregistrer-vue { min-width:0; }
.enregistrer-vue summary { display:flex; align-items:center; justify-content:space-between; gap:4px; list-style:none; padding:5px 6px; border:1px dashed var(--sdx-border); border-radius:8px; cursor:pointer; font-size:11.5px; }
.enregistrer-vue summary > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.enregistrer-vue summary::-webkit-details-marker { display:none; }
.enregistrer-vue form { display:grid; gap:8px; padding:8px 4px; }
.enregistrer-vue label { min-width:0; }
.enregistrer-vue button { padding:8px; white-space:normal; font-size:12px; }
.favori-lien { line-height:1.2; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:0 6px; align-items:center; padding:3px 8px; border-radius:8px; color:var(--sdx-ink); text-decoration:none; }
.favori-lien .note { grid-row:1 / span 2; width:22px; min-width:22px; height:25px; font-size:12px; }
.favori-texte { display:contents; }
.favori-titre { grid-column:2 / 4; }
.favori-texte small { grid-column:2; }
.favori-titre,.favori-texte small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.favori-titre { font-size:11.5px; font-weight:550; }
.favori-statut { line-height:1.2; grid-column:3; grid-row:2; white-space:nowrap; justify-self:start; padding:1px 6px; border:1px solid var(--sdx-border-strong); border-radius:6px; color:var(--sdx-ink); font-size:10px; }
.favori-statut.statut-suivi-1 { border-color:var(--suivi-1); }
.favori-statut.statut-suivi-2 { border-color:var(--suivi-2); }
.favori-statut.statut-suivi-3 { border-color:var(--suivi-3); }
.favori-statut.statut-suivi-4 { border-color:var(--suivi-4); }
.favoris-tous { padding:4px 8px; color:var(--sdx-accent); font-size:11.5px; }
.barre-vide { margin:3px 8px; font-size:11px; color:var(--sdx-muted); }
.barre-outils { display:grid; gap:8px; margin-top:auto; padding:0 8px; }
.barre-outils .themes { justify-content:flex-start; }
.portail-cadre { display:flex; flex-direction:column; min-width:0; min-height:100vh; margin-left:var(--barre); }
.portail-prive .portail-haut { position:sticky; top:0; z-index:850; display:flex; align-items:center; justify-content:space-between; gap:12px; height:var(--haut-h); min-height:var(--haut-h); margin:0; padding:9px 20px; background:var(--sdx-surface); border-bottom:1px solid var(--sdx-border); }
.portail-contexte { display:flex; flex-direction:column; gap:1px; min-width:0; }
.portail-contexte .surtitre { font-size:9px; }
.portail-contexte strong { font-size:14px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.portail-contexte small { font-size:10.5px; color:var(--sdx-muted); }
.haut-actions { display:flex; flex:none; flex-wrap:nowrap; align-items:center; justify-content:flex-end; gap:8px; }
.nom-client { max-width:180px; font-size:12px; overflow-wrap:anywhere; }
.haut-actions .themes { margin:0; }
.haut-actions button:not(.pastille-theme) { min-height:34px; padding:6px 10px; font-size:12px; }
.haut-actions button.pastille-theme { width:24px; height:24px; min-height:0; padding:0; }
.haut-actions .haut-recherche { gap:6px; }
.haut-recherche kbd { padding:1px 4px; border:1px solid var(--sdx-border-strong); border-radius:4px; color:var(--sdx-muted); font:inherit; font-size:10px; white-space:nowrap; }
.portail-logo-mobile,.tiroir-entete,.tiroir-client,.tiroir-apparence { display:none; }
.haut-actions .haut-aide { width:34px; padding:0; }
.portail-prive .portail-principal { flex:1; min-width:0; width:100%; max-width:none; margin:0; padding:26px 30px 60px; }
.apercu-prive { margin:0; padding:7px 26px; border-bottom:1px solid var(--sdx-border); background:var(--sdx-accent-soft); color:var(--sdx-muted); font-size:11px; }
.connexion .apercu-prive { padding:10px; border:1px solid var(--sdx-border); border-radius:8px; }
.portail-onglets,.fermer-tiroir { display:none; }
.dialogue-coque { width:min(580px,calc(100% - 32px)); max-height:80dvh; padding:24px; overflow:auto; border:1px solid var(--sdx-border-strong); border-radius:20px; background:var(--sdx-surface); color:var(--sdx-ink); box-shadow:0 22px 60px var(--sdx-shadow-strong); }
.dialogue-coque::backdrop { background:var(--sdx-shadow-strong); }
.dialogue-coque h2 { margin-top:0; }
.dialogue-coque dt { font-weight:650; color:var(--sdx-info); }
.dialogue-coque dd { margin:0 0 12px; }
#resultats-commandes { padding:0; list-style:none; }
#resultats-commandes a { display:flex; justify-content:space-between; gap:12px; padding:10px; color:var(--sdx-ink); text-decoration:none; border-radius:8px; overflow-wrap:anywhere; }
#resultats-commandes a:hover,#resultats-commandes a:focus { background:var(--sdx-accent-soft); }
#resultats-commandes small { flex:none; color:var(--sdx-muted); font-size:10px; }
@media(min-width:900px) and (max-width:1439px) { .portail-prive { --barre:220px; } }
@media(min-width:900px) {
  .barre-outils > [data-ouvrir] { display:none; }
}
@media(min-width:900px) and (max-width:1279px) {
  .haut-actions .nom-client,.haut-recherche .recherche-texte,.haut-recherche kbd { display:none; }
  .portail-prive .portail-haut { padding-inline:14px; gap:8px; }
  .haut-actions { gap:6px; }
  .portail-contexte strong { font-size:12px; }
}
@media(max-width:899px) {
  :root { --haut-h:64px; }
  .portail-prive { --barre:0px; --onglets-h:calc(62px + env(safe-area-inset-bottom,0px)); }
  .portail-prive .portail-barre { display:none; }
  .portail-prive .portail-barre:target,.portail-prive .portail-barre.tiroir-ouvert { display:flex; inset:8vh 0 var(--onglets-h); width:100%; max-width:none; border:1px solid var(--sdx-border-strong); border-radius:20px 20px 0 0; padding:16px 20px 30px; box-shadow:0 -20px 100px var(--sdx-shadow-strong); }
  .tiroir-entete { display:flex; align-items:center; justify-content:space-between; }
  .tiroir-entete h2 { margin:0; font-size:20px; }
  .portail-barre .fermer-tiroir { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid var(--sdx-border); border-radius:50%; font-size:24px; text-decoration:none; }
  .tiroir-client { display:block; margin:4px 8px; color:var(--sdx-muted); }
  .tiroir-apparence { display:block; margin:8px 0; font-size:12px; }
  .portail-barre .marque,.portail-nav [data-page-coque]:not([data-page-coque=email]):not([data-page-coque=comparer]),.barre-outils [data-ouvrir=aide-coque] { display:none; }
  .portail-nav { order:1; }
  .barre-outils { order:2; }
  .portail-logo-mobile { display:block; flex:none; }
  .portail-logo-mobile .sous-titre { display:none; }
  .portail-logo-mobile .logo { width:100px; height:28px; }
  .haut-actions .nom-client,.haut-themes,.haut-deconnexion { display:none; }
  .portail-contexte .surtitre { display:none; }
  .portail-contexte { flex:1; }
  .tiroir-visible { overflow:hidden; }
  .portail-cadre { padding-bottom:var(--onglets-h); }
  .portail-prive .portail-haut { padding:9px 18px; }
  .portail-prive .portail-principal { padding:22px 18px 40px; }
  .haut-actions .nom-client { max-width:150px; }
  .portail-onglets { position:fixed; inset:auto 0 0; z-index:880; display:flex; justify-content:space-around; min-height:var(--onglets-h); padding:6px 6px env(safe-area-inset-bottom,0px); background:var(--sdx-surface); border-top:1px solid var(--sdx-border); }
  .portail-onglets a { display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-height:48px; border-radius:10px; color:var(--sdx-muted); font-size:11px; text-decoration:none; }
  .portail-onglets [aria-current=page] { color:var(--sdx-info); background:var(--sdx-accent-soft); }
  .portail-onglets .nav-icone { font-size:18px; }
  .haut-actions button:not(.pastille-theme),.portail-barre button,.portail-barre a,.enregistrer-vue summary { min-height:44px; }
  .haut-actions .haut-aide { width:44px; }
  .portail-barre button.pastille-theme { width:44px; height:44px; min-width:44px; min-height:44px; padding:0; }
  .portail-barre .vue-supprimer { min-width:44px; }
  .barre-outils { margin-top:0; }
}
@media(max-width:600px) {
  :root { --haut-h:60px; }
  .portail-prive .portail-haut { padding:7px 8px; gap:6px; }
  .portail-logo-mobile .logo { width:62px; height:24px; }
  .portail-contexte small { display:none; }
  .portail-contexte strong { font-size:12px; }
  .haut-actions { gap:4px; }
  .haut-actions .haut-recherche { width:44px; padding:0; font-size:22px; }
  .recherche-texte,.haut-recherche kbd { display:none; }
  .portail-prive .portail-principal { padding:20px 16px 36px; }
  .apercu-prive { padding:7px 16px; }
  #resultats-commandes a { flex-direction:column; gap:3px; }
}
@media(prefers-reduced-motion:reduce) {
  .portail-prive *,.portail-prive *::before,.portail-prive *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Liste au prix au mètre carré : treize colonnes, vues et gestes communs. */
.liste-bascules{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:12px 0}
.segment{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid var(--sdx-border);border-radius:11px;background:var(--sdx-canvas)}
.segment a,.segment button{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border:0;border-radius:8px;background:none;color:var(--sdx-muted);font-size:12px;box-shadow:none;text-decoration:none;white-space:normal}
.segment a[aria-current]{background:var(--sdx-raised);color:var(--sdx-ink);box-shadow:0 1px 4px var(--sdx-shadow-strong)}
.segment button:disabled{color:var(--sdx-muted);opacity:1;cursor:not-allowed}
.puce-zone{display:inline-block;margin:0 0 10px;padding:5px 10px;border:1px solid var(--sdx-border-strong);border-radius:999px;background:var(--sdx-accent-soft);font-size:12px}
#liste .lettres{margin:12px 0;grid-template-columns:repeat(3,minmax(0,1fr))}
a.liste-tuile{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border:1px solid var(--sdx-border);border-radius:14px;background:var(--sdx-surface);color:var(--sdx-ink);text-decoration:none;min-width:0}
.liste-tuile>span{display:flex;align-items:center;gap:8px;max-width:75%;font-size:12px;white-space:normal}
.liste-tuile strong{font-size:24px;margin:0}
#liste .filtres{margin:12px 0}
#liste .tableau{max-width:100%;margin:8px 0;overscroll-behavior-x:contain}
.liste-table{table-layout:fixed;min-width:0;width:100%}
.liste-table th{white-space:normal;font-size:10px;padding:10px 4px}
.liste-table td{height:auto;min-height:72px;font-size:11px;padding:10px 4px}
.liste-table .cel{height:auto;max-height:none;overflow:visible;min-width:0}
.liste-table .commune-texte,.liste-table .partie,.liste-table .site-nom{display:block;overflow:visible;text-overflow:clip;white-space:normal}
.liste-table .titre-bien{font-size:12px}.liste-table a.lien-fiche{white-space:normal}
.liste-table .type-bien{display:block;font-size:10px;color:var(--sdx-muted)}
.liste-table .surface .partie+.partie{margin-top:3px}
.liste-table td.annonce,.liste-table th.annonce{position:static;box-shadow:none}
.liste-table td.suivi,.liste-table th.suivi{position:static;background:var(--sdx-surface)}
.liste-table.avec-extras{table-layout:auto;width:max-content;min-width:100%}
.liste-table.avec-extras th.bien,.liste-table.avec-extras td.bien{width:220px;min-width:200px;max-width:260px}
.liste-table.avec-extras th.extra,.liste-table.avec-extras td.extra{min-width:110px}
.liste-table.avec-extras td.suivi,.liste-table.avec-extras th.suivi{position:sticky;right:0;z-index:2;min-width:104px;background:var(--sdx-surface);box-shadow:-3px 0 0 var(--sdx-border)}
.liste-table.avec-extras td.annonce,.liste-table.avec-extras th.annonce{min-width:180px;padding-right:108px}
.liste-table th.suivi{z-index:2;background:var(--sdx-th-bg)}
.liste-table .pastille-statut{white-space:normal;padding:2px 5px;font-size:10px}
.liste-table .tri{flex-wrap:wrap;gap:2px}
.liste-table .tri a{min-width:22px;min-height:22px}
.liste-table .m2-terrain{font-size:10px;font-weight:500;color:var(--sdx-muted);white-space:normal}
.liste-table .prix-m2>.cel>.mesure{font-size:13px}
.ecart-sous{color:var(--sdx-ecart-sous);font-weight:650}
.ecart-dessus{color:var(--sdx-ecart-dessus);font-weight:650}
.ecart-proche{color:var(--sdx-muted)}
.ecart-valeur,.ecart-phrase{display:block}.ecart-valeur{font-size:13px;font-weight:750}.ecart-phrase{font-size:11px;font-weight:500}.ecart-neutre{color:var(--sdx-muted)}
.suivi-gestes{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-bottom:5px}
.suivi-gestes .favori-form{margin:0}.suivi-gestes .etoile-favori{min-width:26px;width:26px;min-height:28px;padding:0;font-size:20px}
.suivi-gestes .situer{position:static;display:inline-grid;place-items:center;width:26px;min-height:28px;margin:0}
label.comparer-compact{display:inline-flex;flex-direction:row;align-items:center;gap:3px;min-width:0;font-size:10px;cursor:pointer}
.comparer-compact input{flex:none;width:16px;height:16px;min-height:16px;margin:0;padding:0;accent-color:var(--sdx-info)}
.suivi-liste{display:grid;gap:4px;margin:0}.suivi-liste label{font-size:10px;min-width:0}
.suivi-liste select{width:100%;min-height:30px;padding:3px;font-size:11px}
.suivi-liste button{min-height:30px;padding:4px;font-size:11px}
.etat-suivi{font-size:10px;color:var(--sdx-muted)}
.comparaison-barre{position:fixed;left:calc(var(--barre) + 24px);right:24px;max-width:800px;margin:auto;bottom:16px;z-index:870;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border:1px solid var(--sdx-border-strong);border-radius:12px;background:var(--sdx-surface);box-shadow:0 6px 24px var(--sdx-shadow-strong)}
.comparaison-barre button{min-height:32px;padding:4px 10px;margin-left:auto}
.comparaison-barre a[aria-disabled=true]{color:var(--sdx-muted)}
.etat-comparer:empty{display:none}
/* Une tuile, un cadre borné et le repère à la position projetée (pas de huit pixels). */
.vignette{--v-echelle:1;position:relative;isolation:isolate;width:74px;height:64px;overflow:hidden;margin:0;border:1px solid var(--sdx-border);border-radius:8px;background:var(--sdx-raised)}
.vignette img{position:absolute;z-index:1;display:block;width:calc(256px * var(--v-echelle));height:calc(256px * var(--v-echelle));max-width:none;left:clamp(calc(100% - 256px * var(--v-echelle)),calc(50% - var(--v-x) * var(--v-echelle)),0px);top:clamp(calc(100% - 256px * var(--v-echelle)),calc(50% - var(--v-y) * var(--v-echelle)),0px)}
.vignette-repere{position:absolute;z-index:2;left:clamp(calc(100% - (256px - var(--v-x)) * var(--v-echelle)),50%,calc(var(--v-x) * var(--v-echelle)));top:clamp(calc(100% - (256px - var(--v-y)) * var(--v-echelle)),50%,calc(var(--v-y) * var(--v-echelle)));transform:translate(-50%,-50%);width:9px;height:9px;border:2px solid var(--sdx-ink);border-radius:50%;background:var(--sdx-info);box-shadow:0 0 0 2px var(--sdx-marker-ink)}
.vignette-approx .vignette-repere{width:24px;height:24px;background:none;border:2px dashed var(--sdx-ink)}
.vignette figcaption{position:absolute;z-index:3;bottom:2px;left:2px;max-width:calc(100% - 4px);padding:0 3px;border-radius:4px;background:var(--sdx-surface);color:var(--sdx-ink);font-size:10px;line-height:1.2;white-space:nowrap;overflow-wrap:normal}
.vignette-indisponible{display:none;position:absolute;inset:0;place-content:center;padding:3px;font-size:10px;line-height:1.2;color:var(--sdx-muted);text-align:center}
.vignette-erreur .vignette-indisponible{display:grid}
.vignette-erreur img,.vignette-erreur .vignette-repere,.vignette-erreur figcaption{display:none}
.sans-position{display:grid;place-items:center}.sans-position figcaption{position:static;text-align:center;background:none;color:var(--sdx-muted);white-space:normal}
.vignette-carte{--v-echelle:3;width:100%;height:150px;border:0;border-bottom:1px solid var(--sdx-border);border-radius:0}
.vignette-carte figcaption{padding:2px 6px;font-size:10px}
.liste-cartes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0}
.carte-liste{display:flex;flex-direction:column;overflow:hidden;padding:0;border:1px solid var(--sdx-border);border-radius:14px;background:var(--sdx-surface);min-width:0}
.carte-corps{padding:12px;flex:1}.carte-tete{display:flex;align-items:flex-start;gap:7px}.carte-tete .lien-fiche{flex:1;font-size:13px;font-weight:650;text-decoration:none;overflow-wrap:anywhere}.carte-tete .note{flex:none;width:26px;height:28px;font-size:14px}.carte-tete .favori-form{margin:0}.carte-tete .etoile-favori{padding:0;width:30px;min-width:30px;min-height:30px;font-size:21px}
.carte-situation{font-size:11px;color:var(--sdx-muted)}.carte-prix{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:10px 0}.carte-prix strong{font-size:20px}.carte-prix>span{font-size:12px;color:var(--sdx-muted)}
.carte-verdict{font-size:11px}.carte-verdict>span{display:inline-block;padding:4px 7px;border:1px solid currentColor;border-radius:9px}.carte-date-lien{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:var(--sdx-muted)}.carte-date-lien .site-nom{display:none}.carte-date-lien .voir-lien{display:grid;place-items:center;min-width:44px;min-height:44px;font-size:18px}
.carte-pied{display:flex;flex-direction:column-reverse;gap:8px;border-top:1px solid var(--sdx-border);padding:10px 12px}.carte-pied .suivi-gestes{margin:0;justify-content:space-between}.carte-pied .suivi-liste label{font-size:0}.carte-pied select{font-size:12px}.carte-pied .suivi-liste{grid-template-columns:1fr auto}
@media(max-width:1099px){.liste-cartes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.liste-cartes{grid-template-columns:minmax(0,1fr)}}
/* Téléphone et tablette : lecture compacte avec la vignette à gauche et les gestes en bas. */
@media(max-width:899px){
  #liste .tableau{overflow:visible;border:0}
  .liste-table,.liste-table tbody{display:block;width:100%;min-width:0;table-layout:auto}
  .liste-table thead{display:none}
  .liste-table tr{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr) minmax(0,1fr);gap:6px 10px;width:100%;padding:12px;margin:12px 0;overflow:visible;border:1px solid var(--sdx-border-strong);border-radius:14px;background:var(--sdx-surface)}
  .liste-table td{display:block;grid-column:1/-1;width:auto;height:auto;min-height:0;margin:0;padding:0;border:0;font-size:12px;background:none}
  .liste-table td::before{content:none}.liste-table td.num{display:none}
  .liste-table td.photo{grid-column:1;grid-row:1/span 3}.vignette-ligne{width:88px;height:66px}
  .vignette-ligne figcaption{font-size:10px}
  .liste-table td.classement{position:absolute;z-index:4;top:5px;left:5px}.liste-table td.classement .note{width:24px;height:27px;font-size:13px}
  .liste-table td.bien{grid-column:2/-1;grid-row:1}.liste-table td.prix{grid-column:2;grid-row:2}.liste-table td.prix-m2{grid-column:3;grid-row:2;padding:2px 4px;border-radius:8px;background:var(--sdx-accent-soft)}
  .liste-table td.ecart{grid-column:2/-1;grid-row:3}.liste-table td.surface{grid-column:1/3;grid-row:4}.liste-table td.commune{grid-column:3;grid-row:4}
  .liste-table td.date{grid-column:1/3;grid-row:5}.liste-table td.statut{grid-column:3;grid-row:5}
  .liste-table td.annonce{grid-column:1/-1;grid-row:6}.liste-table td.suivi{grid-column:1/-1;grid-row:7;position:static;box-shadow:none;background:none;padding-top:8px;border-top:1px solid var(--sdx-border)}
  .liste-table .cel{max-height:none;overflow:visible;display:block}.liste-table .titre-bien{white-space:normal;-webkit-line-clamp:unset;font-size:13px}
  .liste-table .surface .cel{display:flex;flex-wrap:wrap;gap:3px 8px}.liste-table .surface .partie+.partie{margin:0}
  .liste-table .type-bien,.liste-table .commune-texte,.liste-table .sous-texte{white-space:normal;font-size:10px}
  .liste-table .annonce .lien-site{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px}
  .suivi-gestes{gap:12px}.suivi-gestes .etoile-favori,.suivi-gestes .situer{min-width:44px;min-height:44px}
  label.comparer-compact{min-height:44px;font-size:12px}.comparer-compact input{width:20px;height:20px;min-height:20px}
  .suivi-liste{grid-template-columns:minmax(0,1fr) auto;align-items:end}.suivi-liste select,.suivi-liste button{min-height:44px;font-size:12px}.suivi-liste .etat-suivi{grid-column:1/-1}
  .comparaison-barre{left:16px;right:16px;bottom:80px}.segment a,.segment button{min-height:44px}
  #liste .lettres{gap:6px}a.liste-tuile{padding:8px;flex-wrap:wrap}.liste-tuile>span{max-width:100%;font-size:10px}.liste-tuile strong{font-size:20px}
  .liste-bascules>.segment{width:100%}.liste-bascules .segment>*{flex:1;justify-content:center;text-align:center}
}
@media(max-width:420px){
  .liste-table tr{grid-template-columns:70px minmax(0,1fr) minmax(0,1fr);gap:6px 7px;padding:9px}
  .vignette-ligne{width:70px;height:60px}.liste-table .prix-m2>.cel>.mesure{font-size:11px}.liste-table td.prix .mesure{font-size:11px}
  .liste-table td.surface .mesure{white-space:normal}.liste-cartes{grid-template-columns:minmax(0,1fr)}
}

/* Décalages des tuiles, arrondis au pas de huit pixels. */
.vx-0{--v-x:0px}.vy-0{--v-y:0px}
.vx-1{--v-x:8px}.vy-1{--v-y:8px}
.vx-2{--v-x:16px}.vy-2{--v-y:16px}
.vx-3{--v-x:24px}.vy-3{--v-y:24px}
.vx-4{--v-x:32px}.vy-4{--v-y:32px}
.vx-5{--v-x:40px}.vy-5{--v-y:40px}
.vx-6{--v-x:48px}.vy-6{--v-y:48px}
.vx-7{--v-x:56px}.vy-7{--v-y:56px}
.vx-8{--v-x:64px}.vy-8{--v-y:64px}
.vx-9{--v-x:72px}.vy-9{--v-y:72px}
.vx-10{--v-x:80px}.vy-10{--v-y:80px}
.vx-11{--v-x:88px}.vy-11{--v-y:88px}
.vx-12{--v-x:96px}.vy-12{--v-y:96px}
.vx-13{--v-x:104px}.vy-13{--v-y:104px}
.vx-14{--v-x:112px}.vy-14{--v-y:112px}
.vx-15{--v-x:120px}.vy-15{--v-y:120px}
.vx-16{--v-x:128px}.vy-16{--v-y:128px}
.vx-17{--v-x:136px}.vy-17{--v-y:136px}
.vx-18{--v-x:144px}.vy-18{--v-y:144px}
.vx-19{--v-x:152px}.vy-19{--v-y:152px}
.vx-20{--v-x:160px}.vy-20{--v-y:160px}
.vx-21{--v-x:168px}.vy-21{--v-y:168px}
.vx-22{--v-x:176px}.vy-22{--v-y:176px}
.vx-23{--v-x:184px}.vy-23{--v-y:184px}
.vx-24{--v-x:192px}.vy-24{--v-y:192px}
.vx-25{--v-x:200px}.vy-25{--v-y:200px}
.vx-26{--v-x:208px}.vy-26{--v-y:208px}
.vx-27{--v-x:216px}.vy-27{--v-y:216px}
.vx-28{--v-x:224px}.vy-28{--v-y:224px}
.vx-29{--v-x:232px}.vy-29{--v-y:232px}
.vx-30{--v-x:240px}.vy-30{--v-y:240px}
.vx-31{--v-x:248px}.vy-31{--v-y:248px}
.vx-32{--v-x:256px}.vy-32{--v-y:256px}

.liste-table td.date .cel{white-space:normal}

/* Lot 3 : accueil Vue du ciel, jetons de la coque et panneaux de la maquette. */
.vue-ciel { padding:16px; margin-top:0; }
.ciel-commandes { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; margin:12px 0; }
.ciel-commandes[hidden],.ce-matin [hidden],.ciel-chaleur[hidden] { display:none; }
.ciel-fonds,.ciel-periodes { display:flex; align-items:center; gap:4px; }
.ciel-commandes button { min-height:36px; padding:7px 10px; font-size:12px; }
.ciel-commandes button[aria-pressed="true"] { border-color:var(--sdx-accent); color:var(--sdx-ink); background:var(--sdx-accent-soft); }
.ciel-commandes [data-lecture] { font-size:12px; color:var(--sdx-muted); }
.ciel-scene { position:relative; isolation:isolate; min-width:0; }
.vue-ciel #carte { height:clamp(540px,72vh,860px); min-height:540px; }
.leaflet-cielChaleur-pane { z-index:350; pointer-events:none; }
.ciel-chaleur { position:absolute; left:0; top:0; pointer-events:none; }
.ce-matin,.zone-panneau { position:absolute; z-index:450; top:18px; max-height:calc(100% - 65px); overflow:auto; overscroll-behavior:contain; background:var(--sdx-surface); border:1px solid var(--sdx-border); border-radius:18px; box-shadow:0 12px 35px -14px var(--sdx-shadow-strong); }
.ce-matin { left:18px; width:286px; padding:18px; }
.ce-matin h2 { font-size:28px; margin:4px 0 14px; }
.ce-matin h3 { font-size:13px; margin:8px 0; }
.ce-matin .surtitre { margin:0; }
.ce-matin p { font-size:12px; color:var(--sdx-muted); }
.ce-matin .cette-nuit { padding:0; border:0; margin:0; }
.ce-matin .cette-nuit>p,.ce-matin .cette-nuit>h3 { display:none; }
.ce-matin .chiffres-nuit { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.ce-matin .chiffres-nuit>a,.ce-matin .chiffres-nuit>span { padding:9px; font-size:10px; border-radius:11px; }
.ce-matin .chiffres-nuit strong { font-size:26px; }
.matin-suite { margin-top:14px; }
.matin-suite>summary { font-size:12px; cursor:pointer; padding:8px 0; }
.matin-onglets { display:flex; flex-wrap:wrap; gap:4px; border-bottom:1px solid var(--sdx-border); padding-bottom:8px; }
.matin-onglets a { display:block; font-size:11px; padding:6px; border-radius:6px; text-decoration:none; }
.matin-onglets a[aria-selected="true"] { background:var(--sdx-accent-soft); color:var(--sdx-ink); }
.matin-suite h4 { font-size:12px; margin:14px 0 6px; }
.matin-suite ul { padding-left:16px; font-size:12px; }
.matin-suite li { margin-bottom:8px; }
.tri-titre { display:block; font-size:15px; line-height:1.4; font-weight:650; margin-top:12px; }
.tri-decision { display:inline-block; margin:4px 4px 4px 0; }
.ce-matin button { min-height:36px; padding:8px; font-size:11px; }
.zone-panneau { right:18px; width:270px; padding:14px; }
.zone-panneau>summary { font-size:16px; font-weight:650; cursor:pointer; padding:4px 0 10px; }
.zone-panneau [data-zone-compte] { color:var(--sdx-muted); font-size:11px; }
.zone-panneau:not([open]) { width:auto; }
.zone-bien { position:relative; padding:12px 0; border-bottom:1px solid var(--sdx-border); overflow-wrap:anywhere; }
.zone-bien .vignette-carte { height:100px; width:100%; margin:0 0 10px; border-radius:10px; }
.zone-tete { display:flex; justify-content:space-between; align-items:center; }
.zone-bien .lien-fiche { display:block; margin:6px 0; font-size:14px; font-weight:600; }
.zone-bien p { margin:5px 0; font-size:12px; }
.zone-bien label { min-width:0; font-size:11px; }
.zone-bien select { font-size:12px; min-height:36px; padding:5px; }
.zone-bien input[type="checkbox"] { width:16px; min-height:16px; }
.zone-bien>label { display:flex; flex-direction:row; align-items:center; margin:10px 0; }
.zone-bien .vers-liste { font-size:11px; }
.vue-ciel .repere-carte>span,.vue-ciel .repere-carte>span::before,.vue-ciel .repere-carte>span::after,.ciel-groupe::before,.ciel-groupe::after { clip-path:circle(50%); border-radius:50%; }
.vue-ciel .legende-carte { margin:12px 0 0; gap:10px 18px; }
.vue-ciel .legende-carte .pt { --forme:circle(50%); clip-path:circle(50%); border-radius:50%; }

@media(prefers-reduced-motion:reduce) { .ciel-scene * { scroll-behavior:auto; animation:none; transition:none; } }

/* Écrans privés : fiche, suivi, comparaison, atlas et aperçu du matin. */
.fiche-portail,.suivi-page,.comparaison-page,.marche-page { min-width:0; }
.fiche-navigation,.fiche-pagination,.ecran-outils,.gestes-bien { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.fiche-navigation { justify-content:space-between; margin-bottom:18px; }
.fiche-pagination { font-variant-numeric:tabular-nums; }
.fiche-pagination a { display:grid; place-items:center; min-width:44px; min-height:44px; border:1px solid var(--sdx-border); border-radius:10px; }
.fiche-bandeau { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,32%); border:1px solid var(--sdx-border); border-radius:20px; overflow:hidden; background:var(--sdx-surface); }
.fiche-bandeau .carte-fiche { margin:0; min-width:0; }
.fiche-bandeau #carte { height:260px; min-height:260px; border:0; border-radius:0; }
.fiche-bandeau .carte-fiche>p { padding:8px 14px; margin:0; font-size:11px; }
.fiche-carte-titre { align-self:center; padding:24px; overflow-wrap:anywhere; }
.fiche-carte-titre h1 { font-size:clamp(22px,2.2vw,34px); line-height:1.2; margin:12px 0; }
.position-absente { display:grid; place-content:center; min-height:230px; padding:20px; }
.fiche-six-tuiles { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin:20px 0; }
.fiche-six-tuiles .panneau { margin:0; padding:16px; overflow-wrap:anywhere; }
.fiche-six-tuiles h2 { color:var(--sdx-muted); font-size:11px; margin:0 0 10px; font-weight:500; }
.fiche-six-tuiles strong { font-size:18px; font-weight:600; }
.fiche-six-tuiles section:nth-child(3) { background:var(--sdx-accent-soft); }
.fiche-disposition { display:grid; grid-template-columns:minmax(0,1fr) 265px; gap:20px; align-items:start; }
.fiche-contenu { min-width:0; }
.fiche-onglets { display:flex; flex-wrap:wrap; gap:6px; border-bottom:1px solid var(--sdx-border); padding-bottom:10px; margin-bottom:18px; }
.fiche-onglets a { padding:10px 12px; border-radius:9px; color:var(--sdx-muted); font-size:12px; text-decoration:none; }
.fiche-onglets [aria-current=page],.fiche-onglets [aria-selected=true],.ecran-outils [aria-current=page],.ecran-outils [aria-pressed=true] { background:var(--sdx-accent-soft); color:var(--sdx-ink); }
.fiche-section { padding:24px; margin:0 0 16px; overflow-wrap:anywhere; }
.fiche-section h2 { font-size:20px; }.fiche-section h3 { margin:24px 0 12px; font-size:15px; }
.fiche-proprietes { padding:20px; margin:0; }.fiche-proprietes h2 { font-size:16px; }
.fiche-proprietes .suivi-form { margin-top:18px; }.suivi-form textarea { width:100%; max-width:100%; box-sizing:border-box; }
.fiche-section .caracteristiques { grid-template-columns:minmax(110px,35%) minmax(0,1fr); }
.frise,.journal-suivi { padding-left:20px; }.frise li,.journal-suivi li { margin:12px 0; }.frise time,.journal-suivi time { color:var(--sdx-info); }
.fourchette-secteur { display:block; width:100%; height:auto; min-height:150px; overflow:visible; }
.fourchette-secteur text { fill:var(--sdx-ink); font:16px sans-serif; }.fourchette-secteur .axe { stroke:var(--sdx-border-strong); stroke-width:2; }
.fourchette-secteur .intervalle { fill:var(--sdx-accent-soft); stroke:var(--sdx-info); }.fourchette-secteur .mediane { stroke:var(--sdx-info); stroke-width:3; }.fourchette-secteur .point-bien { fill:var(--sdx-ink); stroke:var(--sdx-surface); stroke-width:2; }
.comparables-cartes,.email-cartes { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr)); gap:12px; }
.carte-suivi { padding:0; overflow:hidden; border:1px solid var(--sdx-border); border-radius:14px; margin:12px 0; background:var(--sdx-surface); min-width:0; }
.carte-suivi>.vignette { width:100%; margin:0; border-radius:0; }.carte-suivi-corps { padding:14px; overflow-wrap:anywhere; }
.carte-suivi h3 { font-size:14px; line-height:1.4; margin:8px 0; }.carte-suivi p,.carte-suivi .suivi-form { font-size:12px; }.carte-suivi .suivi-form { display:grid; gap:8px; margin-top:14px; }
.carte-suivi select { width:100%; min-width:0; }.carte-suivi .suivi-form button { padding:8px; font-size:11px; }
.gestes-bien { margin-top:12px; font-size:11px; gap:8px; }.gestes-bien .favori-form { margin:0; }.gestes-bien .lien-court { max-width:100%; }
.derniere-action { color:var(--sdx-muted); }.suivi-mandat { margin:24px 0; }.suivi-mandat h2 { font-size:19px; }
.favoris-sans-statut { border:1px dashed var(--sdx-border-strong); padding:14px; border-radius:12px; }.favoris-sans-statut summary,.ecartes-suivi summary { cursor:pointer; }
.suivi-page .colonnes-suivi { gap:12px; }.suivi-page .colonne-suivi { padding:12px; min-width:0; background:var(--sdx-raised); border-radius:14px; }
.colonne-suivi>h3 { font-size:15px; margin:6px 0; }.board-total { font-size:11px; color:var(--sdx-muted); }.ecartes-suivi { margin:18px 0; border-top:1px solid var(--sdx-border); padding:16px 0; }.ecartes-suivi>.carte-suivi { max-width:320px; display:inline-block; vertical-align:top; margin-right:12px; }
.suivi-repli { content-visibility:auto; }.suivi-carte #carte { height:500px; }.atlas-carte #carte { height:430px; min-height:321px; }
.table-comparaison,.table-marche { max-width:100%; overflow:auto; border:1px solid var(--sdx-border); border-radius:14px; margin:20px 0; }
.table-comparaison table,.table-marche table { border-collapse:collapse; width:100%; font-size:12px; }
.compare-table th,.compare-table td,.table-marche th,.table-marche td { padding:14px; border-bottom:1px solid var(--sdx-border); text-align:left; vertical-align:top; }
.compare-table thead th { min-width:180px; max-width:260px; overflow-wrap:anywhere; }.compare-table .vignette { width:100%; margin:14px 0 0; }
.compare-table tr>:first-child { position:sticky; left:0; z-index:1; min-width:110px; width:130px; background:var(--sdx-raised); box-shadow:6px 0 10px var(--sdx-shadow-strong); }
.meilleure-valeur { background:var(--sdx-accent-soft); color:var(--sdx-ink); font-weight:700; }
.table-marche thead th { background:var(--sdx-th-bg); }.table-marche button { font-size:12px; background:none; padding:0; text-align:left; white-space:normal; }
.table-marche td[data-tri] { font-variant-numeric:tabular-nums; }.tendance-baisse { color:var(--sdx-info); }.tendance-hausse { color:var(--sdx-warning,var(--sdx-ink)); }
.atlas-legende { font-size:12px; }.chaleur-secteurs table { min-width:1000px; }.chaleur-secteurs td { padding:0; text-align:center; }.chaleur-secteurs td a { display:block; color:inherit; padding:16px 12px; text-decoration:none; }.chaleur-secteurs tbody th { position:sticky; left:0; background:var(--sdx-surface); min-width:180px; max-width:240px; overflow-wrap:anywhere; }
.chaleur-1 { background:var(--sdx-accent-soft); }.chaleur-2 { background:var(--sdx-raised); outline:1px solid var(--sdx-border-strong); outline-offset:-2px; }.chaleur-3 { background:var(--sdx-info); color:var(--sdx-accent-ink); }.chaleur-4 { background:var(--sdx-ink); color:var(--sdx-surface); }
.email-feuille { max-width:920px; margin:20px auto; padding:36px; background:var(--sdx-surface); border:1px solid var(--sdx-border); border-radius:20px; }.email-feuille>header { border-bottom:1px solid var(--sdx-border); padding-bottom:24px; }.email-feuille>footer { text-align:center; border-top:1px solid var(--sdx-border); padding-top:24px; margin-top:28px; }.email-feuille .email-bien { margin:0; }.email-feuille .cette-nuit { margin:20px 0; }.email-echeances li { margin:12px 0; }
@media(max-width:1200px) { .fiche-six-tuiles { grid-template-columns:repeat(3,minmax(0,1fr)); }.fiche-disposition { grid-template-columns:minmax(0,1fr) 235px; } }
@media(max-width:900px) { .fiche-disposition { grid-template-columns:1fr; }.fiche-proprietes { max-width:100%; }.fiche-bandeau { grid-template-columns:minmax(0,1fr) 36%; }.portail-onglets a { font-size:10px; min-width:0; }.table-comparaison { box-shadow:inset -12px 0 12px var(--sdx-shadow-strong); } }
@media(max-width:760px) { .fiche-bandeau { display:flex; flex-direction:column; }.fiche-carte-titre { width:100%; box-sizing:border-box; padding:18px; }.fiche-bandeau #carte { height:230px; min-height:230px; }.fiche-six-tuiles { grid-template-columns:repeat(2,minmax(0,1fr)); }.fiche-six-tuiles strong { font-size:16px; }.fiche-section { padding:16px; }.fiche-onglets a { min-height:44px; display:flex; align-items:center; box-sizing:border-box; }.suivi-page .colonnes-suivi { display:grid; grid-auto-columns:86%; grid-auto-flow:column; grid-template-columns:none; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:12px; }.suivi-page .colonne-suivi { scroll-snap-align:start; }.compare-table thead th { min-width:150px; }.compare-table tr>:first-child { min-width:96px; width:96px; }.email-feuille { padding:20px 15px; }.atlas-carte #carte { height:350px; }.chaleur-secteurs { max-height:65vh; }.chaleur-secteurs thead th { position:sticky; top:0; z-index:2; } }

.compare-table th,.table-marche th { white-space:normal; }.table-marche td a { white-space:normal; }.table-marche button { color:var(--sdx-ink); box-shadow:none; border:0; }
/* Ces tableaux gardent leur grille, y compris quand la liste principale devient des fiches. */
.table-comparaison table,.table-marche table { table-layout:auto; min-width:0; }
.table-comparaison tbody,.table-marche tbody { display:table-row-group; }
.table-comparaison thead,.table-marche thead { display:table-header-group; }
.table-comparaison tr,.table-marche tr { display:table-row; width:auto; margin:0; border:0; border-radius:0; overflow:visible; }
.table-comparaison td,.table-comparaison th,.table-marche td,.table-marche th { display:table-cell; width:auto; height:auto; }
.table-comparaison td::before,.table-marche td::before { content:none; }
.chaleur-secteurs table { min-width:1000px; }

/* Corrections 2 : surface lisible, gestes accessibles et panneaux posés sur la carte. */
.portail-prive .portail-principal{padding-left:20px;padding-right:20px;padding-bottom:140px}
#liste{padding:16px;background:var(--sdx-surface);backdrop-filter:none;-webkit-backdrop-filter:none}
#liste,#carte,#carte-boutons,[id^="b-"]{scroll-margin-top:calc(var(--haut-h) + 12px)}
.liste-table .tri{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.liste-table .tri-groupe{display:flex;flex-wrap:wrap;align-items:center;gap:1px;max-width:100%}
.liste-table .tri-nom{flex-basis:100%}.liste-table .badge-nat{white-space:normal;max-width:100%;overflow:visible;text-overflow:clip}
.suivi-liste label{font-size:0}.suivi-liste label select{font-size:11px}
.comparer-compact{white-space:nowrap}.comparer-compact span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.comparer-compact::after{content:"⇄";font-size:17px}
.segment [aria-current],.segment button[aria-pressed="true"],.matin-onglets [aria-selected="true"],.ciel-commandes button[aria-pressed="true"]{background:linear-gradient(120deg,var(--sdx-accent),var(--sdx-accent-2));color:var(--sdx-accent-ink);border-color:var(--sdx-accent);font-weight:700}
.ciel-commandes button{background:var(--sdx-surface);color:var(--sdx-ink);border-color:var(--sdx-border-strong);box-shadow:none}
.ciel-commandes button[aria-pressed="true"]{background:linear-gradient(120deg,var(--sdx-accent),var(--sdx-accent-2));color:var(--sdx-accent-ink)}
.ciel-commandes{position:absolute;left:12px;right:12px;bottom:12px;z-index:451;margin:0;padding:8px;border:1px solid var(--sdx-border);border-radius:12px;background:var(--sdx-surface);gap:6px}
.ciel-commandes button{font-size:11px;padding:6px 8px}.ciel-commandes>a{font-size:12px;margin-left:auto}
.ciel-echelle{position:absolute;z-index:450;bottom:78px;left:14px;display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--sdx-border);border-radius:8px;background:var(--sdx-surface);font-size:10px;color:var(--sdx-muted)}
.ciel-echelle i{width:60px;height:6px;border-radius:6px;background:var(--ciel-palette)}
.ciel-echelle[hidden]{display:none}.zone-liens{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ce-matin{width:250px;left:12px;padding:12px}.ce-matin h2{font-size:22px}.zone-panneau{width:240px;right:12px;padding:12px}.ce-matin,.zone-panneau{max-height:calc(100% - 145px)}
.zone-basculer{display:none}.vue-ciel .leaflet-top.leaflet-left{left:274px}
@media(min-width:1100px){.matin-suite:not([open]){margin-top:8px}}
@media(max-width:1099px){
  .ce-matin{top:10px;left:10px;right:10px;width:auto;max-height:calc(100% - 100px);padding:8px 10px}
  .ce-matin>h2,.ce-matin>.surtitre{display:none}.ce-matin .chiffres-nuit{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .ce-matin .chiffres-nuit>a,.ce-matin .chiffres-nuit>span{padding:4px;font-size:10px}.ce-matin .chiffres-nuit strong{font-size:20px;margin:0}
  .matin-suite{margin-top:0}.matin-suite>summary{padding:4px 0}.zone-panneau{top:160px;max-height:calc(100% - 260px)}
  .zone-panneau:not([open])>[data-zone-biens],.zone-panneau:not([open])>[data-zone-visible]{display:none}
  .vue-ciel .leaflet-top.leaflet-left{left:0;top:155px}
}
@media(max-width:899px){
  .voir-lien,.copier-adresse,.info-lecture>summary,.zone-bien .vers-liste,.zone-bien>label,.matin-onglets a,.ce-matin summary,.zone-panneau>summary,.ciel-commandes>a{display:inline-flex;align-items:center;min-height:44px}
  .voir-lien{white-space:normal;-webkit-line-clamp:unset}.info-lecture>summary{min-width:44px}
  .zone-bien select,.ciel-commandes button,.ce-matin button,.comparaison-barre button,.comparaison-barre a{min-height:44px}
  .ciel-commandes button,label.comparer-compact{min-width:44px}
  .zone-bien .etoile-favori,.carte-tete .etoile-favori{width:44px;min-width:44px;min-height:44px}
  .zone-bien input[type=checkbox]{width:24px;height:24px;min-height:24px;flex:none}
  .vue-ciel .leaflet-bar a{width:44px;height:44px;line-height:44px}
  .ciel-commandes{position:static;grid-column:1/-1;margin-top:8px}.ciel-scene{display:grid;grid-template-columns:minmax(0,1fr)}
  .vue-ciel #carte{height:580px;min-height:580px}.ciel-echelle{top:540px;bottom:auto}
  .zone-panneau{max-height:330px;top:180px}.vue-ciel .leaflet-top.leaflet-left{top:175px}
  .comparaison-barre{bottom:calc(var(--onglets-h) + 8px)}
}
@media(max-width:699px){
  .vue-ciel{padding:8px;margin:0 -8px 16px}.vue-ciel>h2{font-size:16px;margin-bottom:8px}
  .vue-ciel #carte{height:520px;min-height:520px}.ce-matin{max-height:390px}.ce-matin .chiffres-nuit>span,.ce-matin .chiffres-nuit>a{font-size:9px}
  .ciel-echelle{top:480px;left:8px;font-size:9px}.ciel-echelle i{width:40px}
  .zone-panneau{top:210px;left:8px;right:8px;width:auto;max-height:260px;overscroll-behavior:auto}
  .zone-panneau:not([open]){display:none}.zone-basculer{display:inline-flex;position:absolute;z-index:451;right:12px;top:166px;min-height:44px;font-size:12px;padding:7px 12px}
  .vue-ciel .filtres-rapides{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;gap:6px}.vue-ciel .filtre-rapide{flex:none;min-height:44px}
  .portail-prive .portail-principal{padding-left:12px;padding-right:12px;padding-top:10px}
}

.ce-matin p.ecart-sous{color:var(--sdx-ecart-sous)}.ce-matin p.ecart-dessus{color:var(--sdx-ecart-dessus)}
.comparaison-active .portail-principal{padding-bottom:180px}
@media(min-width:900px){.comparaison-active .ciel-commandes{bottom:96px}.comparaison-active .ciel-echelle{bottom:160px}}
@media(max-width:899px){.liste-table.avec-extras,.liste-table.avec-extras td,.liste-table.avec-extras th{width:auto;min-width:0;max-width:none}.liste-table.avec-extras td.suivi{position:static}.liste-table.avec-extras td.annonce{padding-right:0}}
@media(max-width:1099px){
  .vue-ciel .leaflet-top.leaflet-left{left:auto;right:10px;top:auto;bottom:28px}
  .ce-matin{max-height:390px}.zone-panneau{max-height:240px}
}
@media(max-width:699px){.ce-matin{max-height:370px}.zone-panneau{max-height:180px}}

body[data-lecture-seule] .enregistrer-vue>summary{pointer-events:none;opacity:.65}

.ce-matin .ecart-sous{color:var(--sdx-ecart-sous)}.ce-matin .ecart-dessus{color:var(--sdx-ecart-dessus)}

/* Corrections 3 : contenu plein cadre et décisions lisibles sur toutes les largeurs. */
.lecteur-seul{position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.portail-prive .portail-principal:has(>.vue-ciel){padding-top:0}
.vue-ciel.panneau{padding:0;margin:0 -20px 20px;border:0;border-radius:0;background:none;box-shadow:none}
.vue-ciel #carte{height:max(560px,calc(100svh - var(--haut-h) - 32px));min-height:560px;border:0;border-radius:0}
.vue-ciel>.filtres-rapides,.vue-ciel>.legende-carte,.vue-ciel>#etat-carte,.vue-ciel>.credit-carte{margin-left:20px;margin-right:20px}
.vue-ciel .leaflet-top.leaflet-left{left:286px}
.gestes-bien label.comparer-compact{flex:0 0 auto;white-space:nowrap;min-width:70px;font-size:11px}
.gestes-bien .lien-court,.gestes-bien .lien-site{min-width:0;flex:1 1 12ch}
.gestes-bien .comparer-compact::after{content:none}
.fiche-six-tuiles small{display:block;font-size:12px;margin-top:6px;line-height:1.4}
.fiche-six-tuiles .panneau{overflow-wrap:normal}
.ensemble-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ensemble-grille .panneau{margin:0;padding:18px}.ensemble-grille h3{margin:0 0 12px}.ensemble-grille li{margin-bottom:8px}
.caracteristiques{display:grid;grid-template-columns:minmax(110px,35%) minmax(0,1fr);gap:6px 12px}.caracteristiques dd{margin:0}
.valeurs-secteur{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;font-size:13px}.valeurs-secteur dt{color:var(--sdx-muted)}.valeurs-secteur dd{margin:0;font-weight:650;white-space:nowrap}
.fourchette-secteur{min-height:0}
.favori-compact{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--sdx-border)}
.favori-compact>a{flex:1 1 180px;min-width:0;font-size:12px}.favori-compact small{display:block;color:var(--sdx-muted)}
.favori-compact .suivi-form{display:flex;gap:8px;margin:0;max-width:100%}.favori-compact select{max-width:150px}
.chemin-offre>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.chemin-offre p{margin:0;padding:12px;background:var(--sdx-raised);border-radius:10px}.chemin-offre strong,.chemin-offre span{display:block}.chemin-offre strong{font-size:24px}.chemin-offre span{font-size:12px}
.ecran-outils{margin:18px 0}.ecran-outils [aria-current=page],.ecran-outils [aria-pressed=true]{background:var(--sdx-accent);color:var(--sdx-accent-ink);border:2px solid var(--sdx-info);font-weight:700}
.meilleure-valeur{box-shadow:inset 0 0 0 2px var(--sdx-info)}.meilleure-legende{display:block;font-size:11px;margin-top:6px}.ajouter-comparaison{display:flex;flex-wrap:wrap;gap:12px;align-items:end;max-width:100%}.ajouter-comparaison select{max-width:100%}
.table-comparaison td,.table-comparaison th,.table-marche td,.table-marche th{overflow-wrap:normal;word-break:normal}.table-marche td{min-width:110px}.table-comparaison td{min-width:160px}.montant{white-space:nowrap}
.atlas-filtres{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.atlas-filtres label{min-width:180px}.atlas-legende,.chaleur-legende,.atlas-communes{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:14px 0}.atlas-legende>span{display:inline-flex;gap:6px;align-items:center}
.pastille-tendance{display:inline-block;width:12px;height:12px;border-radius:50%;flex:none}.pastille-tendance.tendance-hausse{background:var(--atlas-hausse)}.pastille-tendance.tendance-stable{background:var(--atlas-stable)}.pastille-tendance.tendance-baisse{background:var(--atlas-baisse)}.pastille-tendance.tendance-insuffisant{background:var(--atlas-insuffisant)}
.atlas-nombre{background:transparent;border:0;box-shadow:none;color:var(--atlas-blanc);text-shadow:0 1px 3px var(--atlas-ombre);font-weight:750}.atlas-nombre::before{display:none}.atlas-communes a{display:inline-flex;padding:8px 12px;border:1px solid var(--sdx-border);border-radius:20px}
.chaleur-1{background:color-mix(in srgb,var(--sdx-info) 20%,var(--sdx-surface));color:var(--chaleur-encre-1)}
.chaleur-2{background:color-mix(in srgb,var(--sdx-info) 40%,var(--sdx-surface));color:var(--chaleur-encre-2);outline:0}
.chaleur-3{background:color-mix(in srgb,var(--sdx-info) 65%,var(--sdx-surface));color:var(--chaleur-encre-3)}
.chaleur-4{background:color-mix(in srgb,var(--sdx-info) 90%,var(--sdx-surface));color:var(--chaleur-encre-4)}
.chaleur-legende>span{padding:8px 10px;border-radius:6px}.chaleur-secteurs td{min-width:64px}
.email-feuille>header{display:block}.email-feuille .marque{display:block;margin-bottom:20px}.email-dossier{margin:0;padding:16px}.email-lignes{list-style:none;padding:0}.email-lignes li{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 0;border-bottom:1px solid var(--sdx-border)}.email-lignes li>a{flex:1 1 240px;min-width:0}.email-lignes small{display:block;color:var(--sdx-muted)}
.vignette.vignette-approx{--v-echelle:1;max-width:256px;max-height:256px}.carte-suivi>.vignette.vignette-approx,.carte-liste>.vignette.vignette-approx,.compare-table .vignette.vignette-approx,.zone-bien .vignette.vignette-approx{width:min(100%,256px);margin-inline:auto}
.liste-table .site-nom{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.liste-table .pastille-statut,.liste-table .mesure,.liste-table .m2-terrain{white-space:nowrap;overflow-wrap:normal}
/* Budget M1/M2 : 880 px fixes + 100 px pour le bien à 1280 px, padding inclus.
   Le titre gagne la place restante sur grand écran, avec une lecture bornée à 300 px. */
@media(min-width:900px){
  .liste-table:not(.avec-extras){min-width:980px}
  .liste-table col.col-num{width:20px}
  .liste-table col.col-photo{width:48px}
  .liste-table col.col-classement{width:40px}
  .liste-table col.col-bien{width:auto}
  .liste-table col.col-prix{width:62px}
  .liste-table col.col-prix-m2{width:78px}
  .liste-table col.col-ecart{width:84px}
  .liste-table col.col-surface{width:52px}
  .liste-table col.col-commune{width:104px}
  .liste-table col.col-date{width:84px}
  .liste-table col.col-statut{width:104px}
  .liste-table col.col-annonce{width:92px}
  .liste-table col.col-suivi{width:112px}
  .liste-table:not(.avec-extras) th{width:auto;min-width:0}
  .liste-table th,.liste-table td{padding-left:2px;padding-right:2px}
  .liste-table th{vertical-align:bottom;line-height:1.4}
  .liste-table th.bien{padding-left:6px}
  .liste-table .tri{display:flex;flex-direction:column;align-items:flex-start;flex-wrap:nowrap;max-width:100%}
  .liste-table .tri-groupe{display:grid;grid-template-columns:22px 22px;gap:0;max-width:100%}
  .liste-table .tri-nom{grid-column:1/-1;margin:0;white-space:normal}
  .liste-table th.classement .tri-groupe{grid-template-columns:11px 11px}
  .liste-table th.classement .tri a{min-width:11px}
  .liste-table th.classement .tri-nom{font-size:8px}
  .liste-table td.classement .note{min-width:22px;width:22px;padding:0}
  .liste-table td.bien{padding-left:6px}
  .liste-table td.bien>.cel{max-width:300px}
  .liste-table .vignette-ligne{width:44px}
  .liste-table td.num,.liste-table td.prix,.liste-table td.surface .cel{font-size:10px}
  .liste-table .prix-m2>.cel>.mesure{font-size:11px}
  .liste-table .m2-terrain{font-size:11px}
  .liste-table td.date .sous-texte{font-size:11px}
  .liste-table .suivi-gestes{gap:3px}
  .liste-table .suivi-liste select{font-size:11px;padding-left:3px;padding-right:0}
  .liste-table .suivi-liste button{padding:3px 1px;font-size:10px}
  .liste-table td.suivi,.liste-table th.suivi{position:sticky;right:0;z-index:2;background:var(--sdx-surface);box-shadow:-1px 0 var(--sdx-border)}
  .liste-table th.suivi{background:var(--sdx-th-bg)}
}
.liste-table .mesure,.liste-table td.surface .mesure,.liste-table .pastille-statut,.liste-table .site-nom,.liste-table td.date .cel,.liste-table .date-valeur,.liste-table .action-lien,.liste-table .ecart-valeur,.liste-table .ecart-phrase{white-space:nowrap;overflow-wrap:normal;word-break:normal}
.liste-table .m2-terrain,.liste-table td.date .date-publication{white-space:normal;overflow-wrap:normal;word-break:normal}
.liste-table .m2-terrain .mesure{display:inline-block;max-width:100%}
.liste-table .pastille-statut{padding:2px 3px;font-size:10px}
.liste-table .surface .partie{white-space:normal;overflow:visible;text-overflow:clip}
.liste-table .commune-texte{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow:hidden;text-overflow:ellipsis}
.liste-table .mot-commune{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.liste-table .cp-texte{white-space:nowrap}
.liste-table .pastille-statut{max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.liste-table .type-bien,.liste-table td.bien>.cel>.sous-texte{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.liste-table .voir-lien{display:block;max-width:100%;overflow:visible;text-overflow:clip;white-space:normal}
.liste-table .copier-adresse{max-width:100%;padding-left:3px;padding-right:3px;font-size:11px}
.liste-table .vignette-ligne figcaption{overflow:hidden;text-overflow:ellipsis}
.liste-table td.ecart,.liste-table .ecart-phrase{font-size:10px}
.liste-table .site-nom{font-size:10px}
.vignette-ligne figcaption{font-size:10px;padding:0 1px;letter-spacing:-.25px}
@media(max-width:899px){.liste-table colgroup{display:none}}
@media(max-width:1099px){.vue-ciel .leaflet-top.leaflet-left{left:auto;right:10px;top:auto;bottom:28px}}
@media(max-width:899px){
  .portail-onglets a{font-size:11px}.fiche-navigation>a,.fiche-onglets a,.suivi-page summary,.retirer-comparaison,.ecran-outils a,.atlas-communes a,.autres-secteurs summary{min-height:44px;display:inline-flex;align-items:center;box-sizing:border-box}
  .gestes-bien a,.gestes-bien button,.fiche-proprietes .etoile-favori,.ecran-outils a{min-height:44px}.fiche-proprietes .etoile-favori{min-width:44px}
  .vue-ciel.panneau{margin-left:-20px;margin-right:-20px}.vue-ciel #carte{height:max(560px,calc(100svh - var(--haut-h) - 32px));min-height:560px}
  .ciel-echelle{top:auto;bottom:110px}.ciel-commandes{position:relative;grid-column:1/-1;left:auto;right:auto;bottom:auto;margin:0 12px;padding:8px}
  .chemin-offre>div{grid-template-columns:repeat(3,minmax(0,1fr))}.ensemble-grille{grid-template-columns:1fr}
}
@media(max-width:699px){
  .vue-ciel.panneau{margin-left:-12px;margin-right:-12px}.vue-ciel #carte{height:max(480px,calc(100svh - var(--haut-h) - 32px - var(--onglets-h)));min-height:480px}
  .ce-matin{top:10px;left:10px;right:10px;max-height:260px}.ce-matin .chiffres-nuit>a,.ce-matin .chiffres-nuit>span{font-size:10px}.ce-matin .chiffres-nuit strong{font-size:20px}
  .ce-matin:has(.matin-suite[open]){max-height:260px}.matin-suite>summary{min-height:44px}
  .zone-basculer{top:min(400px,calc(100svh - var(--haut-h) - var(--onglets-h) - 104px));right:12px}.zone-panneau{top:155px;bottom:95px;max-height:min(240px,calc(100svh - var(--haut-h) - var(--onglets-h) - 300px))}.zone-panneau[open]~.zone-basculer{top:min(400px,calc(100svh - var(--haut-h) - var(--onglets-h) - 104px))}
  .ciel-echelle{top:440px;bottom:auto}.valeurs-secteur{font-size:12px}.chemin-offre p{padding:8px}.fiche-section{overflow-wrap:normal}
}
.ajouter-comparaison label{min-width:0;flex:1 1 220px;max-width:100%}.ajouter-comparaison select{width:100%}
.atlas-filtres label{max-width:100%}.atlas-filtres select{max-width:100%}
.carte-suivi-corps,.zone-bien,.fiche-carte-titre,.carte-tete .lien-fiche{overflow-wrap:break-word;word-break:normal}
/* Aucun élément de la liste ne coupe un mot, y compris les cartes et les filtres. */
#liste,#liste *{overflow-wrap:normal;word-break:normal;hyphens:manual}

/* Relecture finale : hiérarchie des lettres et commandes accessibles. */
.note.note-a{background:var(--sdx-info);color:var(--sdx-marker-ink);border-color:var(--sdx-info)}
:root[data-theme="clair"] .note.note-a{background:var(--lettre-a-clair);color:var(--sdx-marker-ink);border-color:var(--lettre-a-clair)}
.note.note-b{background:transparent;color:var(--sdx-ink);border-color:var(--sdx-border-strong)}
.note.note-c{background:var(--sdx-canvas);color:var(--sdx-muted);border-color:var(--sdx-border)}
:root[data-theme="clair"] .liste-table td.annonce,:root[data-theme="clair"] .liste-table th.annonce{box-shadow:none}
.liste-table .copier-adresse{white-space:normal;max-width:100%;padding:3px;font-size:10px;line-height:1.25}
.ciel-commandes .zone-basculer{position:static;display:inline-flex;order:5;margin:0}
.ce-matin .cette-nuit{padding:0;margin:0 0 8px;border:0;background:none}
.ce-matin .cette-nuit>h3,.ce-matin .cette-nuit>p{display:none}
.ce-matin .chiffres-nuit{gap:6px}.ce-matin .chiffres-nuit>a,.ce-matin .chiffres-nuit>span{padding:6px;gap:3px;line-height:1.25}
.ce-matin .chiffres-nuit strong{font-size:24px}
.ce-matin h2{margin-bottom:6px}.ce-matin>.surtitre{margin:0}
.ce-matin .matin-onglets{gap:4px;margin:6px 0}.ce-matin .matin-onglets a{padding:5px;font-size:10px}
.ce-matin .tri-titre{font-size:14px;text-decoration:none;line-height:1.3;display:block}
.ce-matin [data-file-bien]>p{margin:6px 0;font-size:11px;line-height:1.35}
.ce-matin [data-file-bien] .ecart{padding:4px;border-radius:6px;background:var(--sdx-raised)}
.ce-matin [data-file-bien] .ecart-valeur,.ce-matin [data-file-bien] .ecart-phrase{display:inline;font-size:11px;margin-right:3px}
.ce-matin [data-file-bien]{display:flex;flex-wrap:wrap;gap:4px}
.ce-matin [data-file-bien]>a,.ce-matin [data-file-bien]>p{flex-basis:100%}
.ce-matin .tri-decision{margin:0;flex:1 1 0;min-width:0}.ce-matin .tri-decision button,.ce-matin [data-plus-tard]{padding:4px;font-size:10px;min-height:32px;white-space:nowrap}
.ce-matin [data-plus-tard]{flex:1 1 0}.ce-matin .tri-decision button{width:100%}
.ce-matin [data-file-compte]{margin:4px 0;font-size:11px}
@media(min-width:1100px){.ce-matin{max-height:calc(100% - 100px)}}
.zone-bien{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 6px;padding:8px 0;line-height:1.3}
.zone-bien>.vignette-carte,.zone-bien>.zone-tete,.zone-bien>p,.zone-bien>.zone-prix{grid-column:1/-1}
.zone-bien .vignette.vignette-carte{height:62px;margin:0;width:100%}
.zone-bien .vignette figcaption{font-size:9px;padding:1px 3px}
.zone-bien .zone-tete{display:flex;gap:6px;align-items:center;min-width:0}
.zone-bien .zone-tete .note{min-width:24px;width:24px;height:24px;font-size:12px;flex:none}
.zone-bien .lien-fiche{font-size:13px;line-height:1.3;margin:0;text-decoration:none;flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.zone-bien .etoile-favori{width:26px;min-height:26px;font-size:20px}
.zone-bien p{margin:0;font-size:10px}.zone-bien>.zone-prix{font-size:17px;line-height:1.25}
.zone-bien .ecart-valeur,.zone-bien .ecart-phrase{display:inline;font-size:10px;margin-right:3px}
.zone-bien .ecart{background:var(--sdx-raised);border-radius:6px;padding:3px}
.zone-bien>.suivi-liste{grid-column:1;min-width:0;margin:0}.zone-bien>.suivi-liste label{font-size:0;gap:0;min-width:0}
.zone-bien select{min-height:28px;padding:2px;font-size:11px;width:100%}
.zone-bien>label{grid-column:2;min-width:0;gap:4px;margin:0;display:flex;flex-direction:row;align-items:center;font-size:10px}
.zone-bien .zone-liens:empty{display:none}.zone-bien .zone-liens{font-size:10px}
.zone-bien .etat-suivi:empty{display:none}
.apercu-email{max-width:1050px;padding:0;border:0;background:none;box-shadow:none}
.apercu-email .email-dossier{padding:16px 18px;margin:0}
@media(min-width:900px){.email-cartes{grid-template-columns:repeat(3,minmax(0,1fr))}}
.carte-suivi .vignette-carte{height:90px}.carte-suivi .suivi-form select{font-size:12px;min-height:32px;padding:4px}
.carte-suivi .suivi-form label{font-size:11px;gap:3px}.carte-suivi .suivi-form{margin-top:8px}
.favori-compact .suivi-form{flex-wrap:wrap}.favori-compact .suivi-form>label{min-width:150px}
@media(max-width:699px){
 .favori-compact .suivi-form{width:100%}.favori-compact .suivi-form>label{flex:1 1 100%}
 .favori-compact select{max-width:none;width:100%}.favori-compact .suivi-form button{width:100%;min-height:44px}
 .ce-matin .tri-decision button,.ce-matin [data-plus-tard]{min-height:44px}
}
.frise{list-style:none;border-left:2px solid var(--sdx-border-strong);margin-left:8px;padding-left:22px}
.frise li{position:relative}.frise li::before{content:"";position:absolute;left:-28px;top:7px;width:10px;height:10px;border-radius:50%;background:var(--sdx-info)}
.frise-future{border-left-style:dashed}.frise-future li::before{background:var(--sdx-canvas);border:2px solid var(--sdx-info)}
.mandat-lien .mandat-nom{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden}
.atlas-nombre{color:var(--atlas-encre-forte);text-shadow:none;font-size:12px;font-weight:800}
.confirmation-suivi{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);z-index:1000;padding:10px 18px;border:1px solid var(--sdx-info);border-radius:12px;background:var(--sdx-surface);color:var(--sdx-ink)}
@media(max-width:899px){.liste-table td.date .cel::before{content:"Repérée le ";color:var(--sdx-muted);font-size:11px}}

.vignette-carte figcaption{white-space:normal;line-height:1.2;max-width:100%}
/* Le texte Comparer est explicite hors du tableau de bureau. */
.comparer-compact::after{content:none}
.comparer-compact span{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
@media(min-width:900px){.liste-table .comparer-compact span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.liste-table .comparer-compact::after{content:"⇄"}}
@media(max-width:899px){.liste-table td.bien .type-bien,.liste-table td.bien>.cel>.sous-texte{display:inline-block}.liste-table td.bien>.cel>.sous-texte::before{content:" · "}}
