/* =============================================================================
 * fiche_maquette.scoped.css — GENERE par _build/build_scoped_css.mjs (NE PAS EDITER A LA MAIN)
 * Source verbatim : assets/fiche_maquette.css (CSS canonique de la maquette validee).
 * Scope : #feature-panel.op-maquette (n'affecte que la fiche transplantee).
 * :root (tokens) conserve global. Chrome de page demo (body/doc/switcher/legend/device-wrap) neutralise.
 * ============================================================================= */

/* ---- SHIM APP : la fiche occupe le panneau lateral, pas un faux telephone ---- */
/* Le panneau live (#feature-panel.sheet) garde sa position/taille/coin-encoche (map.css),
   on neutralise juste son padding interne et son overflow pour que le skin maquette le
   remplisse parfaitement et scrolle a l'interieur (.screen). */
#feature-panel.op-maquette{padding:0!important;overflow:hidden!important;}
/* M27 : on epingle --op-font sur le skin pour garantir que bandeau/titres/onglets
   heritent du stack maquette independamment de la police du panneau de l'app. */
#feature-panel.op-maquette #op-maq-skin{position:absolute;inset:0;z-index:2;display:flex;font-family:var(--op-font);}
/* M05 : la fiche ouverte passe AU-DESSUS de tous les controles carte
   (burger #btn-menu z-index:6000, hud 5000, geoloc/cloche 25). 6500 > 6000 et
   < 7000 (drawer-backdrop) pour que l'ouverture du menu recouvre la fiche.
   Scope a .op-maquette + display:none quand fermee -> aucun effet hors ouverture. */
/* [DOCK-FICHE-FIX 2026-07-03] RACINE du bug « fiche DERRIERE le dock itineraire »
   (vu iPhone 17h32, mission Point chaud) : cliquer une parcelle clignotante ouvrait
   la fiche du bien DERRIERE le dock terrain (#op-tour-ctl z=10650 « Aller au 1er point /
   Je suis sur place », #op-tour-bar z=10600). La fiche etait bloquee a 6500 < ces docks
   -> elementFromPoint au centre de la fiche renvoyait #op-tour-ctl (fiche inaccessible).
   FIX RACINE : la fiche ouverte passe DEVANT les docks/bandeaux PERSISTANTS de tournee.
   Valeur 10750 choisie precisement :
     - AU-DESSUS de #op-tour-bar (10600), #op-tour-ctl / #op-tour-resume-modal (10650),
       #op-tour-resume-pill (10550) et de la confirmation « enregistre » (10700) -> la
       fiche passe DEVANT partout ou un dock coexiste avec elle (correction UNIQUE, pas
       de pansement par ecran) ;
     - EN-DESSOUS des feuilles MODALES plein ecran de tournee (GPS externe / aide ⓘ =
       10900) qui doivent, elles, recouvrir la fiche quand l'agent les ouvre ;
     - EN-DESSOUS du date-picker / modales (99999) et des overlays internes de la fiche
       (opd/rcz/jdq = 100000+) -> aucune regression sur ces couches.
   Le dock Etape B #opsem-rel-go (z=29) reste SOUS la fiche (doctrine « clique la parcelle,
   la fiche s'ouvre DEVANT » — inchangee). Le burger (#btn-menu 6000) est deja masque par
   la fiche ouverte -> le drawer ne s'ouvre jamais fiche ouverte, aucune regression du menu.
   Scope strict a #feature-panel.op-maquette.sheet -> nul effet hors fiche transplantee ouverte. */
#feature-panel.op-maquette.sheet{z-index:10750!important;}
/* M06 : pleine hauteur (le panneau live est verrouille a 78vh dans map.css).
   Scope strict a .op-maquette -> zero regression sur une fiche non transplantee. */
#feature-panel.op-maquette.sheet{top:10px!important;bottom:10px!important;height:auto!important;max-height:none!important;}
@media (min-width:900px){#feature-panel.op-maquette.sheet{top:12px!important;bottom:12px!important;}}
/* M26 : caper le rail de design a 390px (seule largeur validee par Nicolas),
   centre dans le panneau (520px desktop). Mobile (~370px) reste fidele. */
#feature-panel.op-maquette .device{width:100%!important;max-width:390px!important;margin:0 auto!important;height:100%!important;min-height:0!important;
  border:0!important;border-radius:inherit!important;box-shadow:none!important;background:var(--op-surface);
  display:flex;flex-direction:column;flex:1;}
#feature-panel.op-maquette .notch{display:none!important;}
#feature-panel.op-maquette .stage{flex:1;height:auto;min-height:0;}
/* M25 : SUPPRIME le padding-bottom:130px (double declaration shadowée par le
   verbatim 170px). On garde l'unique 170px verbatim (degage l'actionbar ~137px). */
/* le bouton fermer live (.sheet__notch) reste fonctionnel mais cache : la maquette a son
   propre × dans le bandeau (.c-close) qui delegue dessus. */
#feature-panel.op-maquette .sheet__handle{display:none!important;}
#feature-panel.op-maquette .sheet__notch{display:none!important;}

/* ============================================================
     TOKENS — code_couleur.md (canoniques, inviolables)
     ============================================================ */
:root{
    --op-mission-annonce:#d946ef;   /* rose fuchsia — annonces / en vente */
    --op-mission-annonce-bg:#fdf4ff;
    --op-mission-relance:#f59e0b;   /* orange — à revoir / relances */
    --op-mission-relance-bg:#fff7ed;
    --op-mission-rue:#ef4444;       /* rouge — DPE rouge */
    --op-mission-boitage:#7c3aed;   /* violet — boîtage / flyers (VRAI violet, pas pâle) */
    --op-mission-boitage-bg:#f5f3ff;
    --op-mission-pro:#15803d;       /* vert PRO — sociétés / SCI */
    --op-mission-emeraude:#059669;  /* émeraude — "J'ai discuté" */
    --op-gold:#b8860b;              /* OR — mandat */
    --op-gold-deep:#94700d;
    --op-gold-edge:#d4a017;
    --op-data-dvf:#06b6d4;          /* cyan — DVF / Visite */
    --op-bordeaux:#BE123C;          /* bordeaux — toggle Rues chaudes SEUL (inviolable) */

    /* neutres */
    --op-bg:#f1f5f9;
    --op-surface:#ffffff;
    --op-surface-2:#f8fafc;
    --op-ink:#0f172a;
    --op-ink-2:#334155;
    --op-ink-3:#64748b;
    --op-ink-faint:#94a3b8;
    --op-mouse-grey:#64748b;        /* gris souris — statut « Jamais prospecté » (NEUTRE, distinct du noir EXCLU) */
    --op-line:#e2e8f0;
    --op-scrim:rgba(15,23,42,.48);

    --op-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    --op-r-btn:12px; --op-r-card:18px; --op-r-card-2:14px; --op-r-sheet:22px; --op-r-pill:999px;

    --op-elev-1:0 1px 2px rgba(15,23,42,.06), 0 8px 24px rgba(15,23,42,.08);
    --op-elev-card-strong:0 2px 4px rgba(15,23,42,.08), 0 14px 32px rgba(15,23,42,.14);
    --op-elev-bar:0 -2px 10px rgba(15,23,42,.10), 0 -8px 30px rgba(15,23,42,.07);
  }
#feature-panel.op-maquette *{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
@media (prefers-reduced-motion: reduce){
#feature-panel.op-maquette *{animation:none!important;transition:none!important;}
}
/* ---- doc + switcher (hors device) ---- */
/* TOGGLE DÉMO mode agence (hors device) — démontre solo vs agence */
/* ============================================================ DEVICE ============================================================ */
/* R7-0 : hauteur de téléphone réaliste FIXE = fiche entièrement visible, plus de troncature ;
     si la fenêtre est plus courte, c'est la PAGE qui scrolle (jamais une fiche coupée). */
#feature-panel.op-maquette .device{width:390px;max-width:100%;background:var(--op-bg);border-radius:34px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55);border:10px solid #000;position:relative;height:844px;min-height:844px;display:flex;flex-direction:column;}
#feature-panel.op-maquette .notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:150px;height:26px;background:#000;border-radius:0 0 16px 16px;z-index:80;}
#feature-panel.op-maquette .stage{flex:1;position:relative;overflow:hidden;}
#feature-panel.op-maquette .screen{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:170px;}
#feature-panel.op-maquette .screen::-webkit-scrollbar{width:0;}
/* ============================================================
     EN-TÊTE STICKY = bandeau statut + adresse/parcelle + tabs SEULEMENT
     ============================================================ */
#feature-panel.op-maquette .idcard{position:sticky;top:0;z-index:40;background:var(--op-surface);box-shadow:0 1px 0 var(--op-line);}
/* bandeau statut dynamique (couleur = STATUS) */
#feature-panel.op-maquette .ctx{display:flex;align-items:center;gap:9px;padding:33px 13px 11px;color:#fff;font-weight:800;font-size:13.5px;letter-spacing:.2px;position:relative;cursor:pointer;}
#feature-panel.op-maquette .ctx .c-ico{font-size:18px;line-height:1;}
#feature-panel.op-maquette .ctx .c-ico:empty{display:none;}
/* C10 : pas d'espace fantôme quand le statut n'a pas de logo */
#feature-panel.op-maquette .st-MANDAT .ctx .c-ico{color:#fff5d6;text-shadow:0 1px 2px rgba(0,0,0,.25);}
/* étoile Mandat = OR clair sur fond or */
#feature-panel.op-maquette .ctx .c-label{flex:1;line-height:1.2;}
#feature-panel.op-maquette .ctx .c-label .c-sub{display:block;font-weight:600;font-size:11px;opacity:.92;margin-top:1px;}
#feature-panel.op-maquette .ctx .c-tag{font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;background:rgba(255,255,255,.22);padding:4px 9px;border-radius:999px;}
#feature-panel.op-maquette .ctx .c-chev{font-size:13px;opacity:.85;}
/* R4-2 : menu de statut = DROPDOWN sous la barre pleine largeur (comme la fiche live #status-dd-menu), pas un bottom-sheet */
#feature-panel.op-maquette .ctx{position:relative;}
#feature-panel.op-maquette .statut-dd-menu{position:absolute; left:13px; top:calc(100% - 2px); width:min(280px,86%); border-radius:14px; background:#fff; border:1px solid rgba(15,23,42,.12); box-shadow:0 18px 55px rgba(0,0,0,.28); overflow:hidden; display:none; z-index:60;}
#feature-panel.op-maquette .statut-dd-menu.open{display:block;}
#feature-panel.op-maquette .statut-dd-item{width:100%; text-align:left; padding:12px 14px; min-height:44px; border:0; background:#fff; font-weight:800; font-size:14px; color:#0f172a; cursor:pointer; display:flex; align-items:center; gap:10px; font-family:inherit;}
#feature-panel.op-maquette .statut-dd-item:hover{background:#f1f5f9;}
#feature-panel.op-maquette .statut-dd-item .dd-dot{width:11px; height:11px; border-radius:50%; flex:none;}
#feature-panel.op-maquette .ctx .c-close{width:34px;height:34px;flex:none;border-radius:999px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;}
#feature-panel.op-maquette .st-JAMAIS .ctx{background:var(--op-mouse-grey);} /* [statutgris 2026-06-23] gris souris ≠ noir EXCLU */
#feature-panel.op-maquette .st-FLYER  .ctx{background:var(--op-mission-boitage);}
#feature-panel.op-maquette .st-REVOIR .ctx{background:var(--op-mission-relance);}
#feature-panel.op-maquette .st-VISITE .ctx{background:var(--op-data-dvf);}
#feature-panel.op-maquette .st-MANDAT .ctx{background:linear-gradient(135deg,var(--op-gold-deep),var(--op-gold),var(--op-gold-edge));}
#feature-panel.op-maquette .st-MANDAT .ctx .c-tag{background:rgba(255,255,255,.30);color:#3d2f05;}
#feature-panel.op-maquette .st-EXCLU  .ctx{background:var(--op-ink);}
/* adresse + parcelle */
#feature-panel.op-maquette .addr{display:flex;align-items:flex-start;gap:10px;padding:11px 13px 9px;}
#feature-panel.op-maquette .addr-main{flex:1;min-width:0;}
#feature-panel.op-maquette .addr-num{font-size:18px;font-weight:800;letter-spacing:-.4px;color:var(--op-ink);line-height:1.2;}
#feature-panel.op-maquette .addr-sub{font-size:12px;color:var(--op-ink-3);margin-top:3px;}
/* R2-9 : libellé "Modifier" (mot), pas de crayon ; cible 44px */
#feature-panel.op-maquette .addr-edit{min-height:44px;flex:none;border-radius:10px;background:var(--op-bg);border:1px solid var(--op-line);display:flex;align-items:center;justify-content:center;padding:0 13px;font-size:12.5px;font-weight:800;color:var(--op-ink-2);cursor:pointer;}
/* tabs */
#feature-panel.op-maquette .tabs{display:flex;padding:0 13px;background:var(--op-surface);border-bottom:1px solid var(--op-line);}
#feature-panel.op-maquette .tab{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:700;color:var(--op-ink-3);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;}
#feature-panel.op-maquette .tab[data-active="1"]{color:var(--op-ink);border-color:var(--op-ink);}
#feature-panel.op-maquette .tab .tb-badge{font-size:10px;font-weight:800;background:var(--op-mission-annonce);color:#fff;border-radius:999px;padding:1px 6px;min-width:17px;text-align:center;}
/* ============================================================
     COPRO / IMMEUBLE — plusieurs BIENS sur une même parcelle (Option A)
     Famille bleue #2563eb (registre officiel). N'apparaît QUE si immeuble/copro.
     ============================================================ */
#feature-panel.op-maquette .scalebar{display:none;align-items:center;gap:10px;padding:9px 13px;background:#eff6ff;border-bottom:1px solid #dbeafe;}
#feature-panel.op-maquette .scalebar.show{display:flex;}
#feature-panel.op-maquette .scalebar .sb-emo{width:30px;height:30px;border-radius:9px;background:#dbeafe;display:flex;align-items:center;justify-content:center;font-size:16px;flex:none;}
#feature-panel.op-maquette .scalebar .sb-lbl{flex:1;min-width:0;font-size:12.5px;font-weight:800;color:#1e40af;line-height:1.2;}
#feature-panel.op-maquette .scalebar .sb-lbl small{display:block;font-weight:600;color:var(--op-ink-3);font-size:11px;margin-top:1px;}
#feature-panel.op-maquette .scalebar .sb-pick{flex:none;min-height:44px;border:1.5px solid #2563eb;background:#fff;color:#1e40af;border-radius:10px;font-weight:800;font-size:12px;padding:0 12px;cursor:pointer;display:flex;align-items:center;gap:6px;font-family:var(--op-font);}
#feature-panel.op-maquette .scalebar .sb-pick .chev{font-size:11px;opacity:.8;}
/* nav_biens : pager compact balayage lot-a-lot (visible seulement dans un lot ouvert) */
#feature-panel.op-maquette .lotpager{display:none;align-items:center;gap:8px;padding:8px 13px;background:#f8fafc;border-bottom:1px solid #e2e8f0;}
#feature-panel.op-maquette .lotpager.show{display:flex;}
#feature-panel.op-maquette .lotpager .lp-nav{flex:none;width:44px;height:40px;border:1.5px solid #cbd5e1;background:#fff;border-radius:10px;color:#1e40af;font-size:18px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--op-font);}
#feature-panel.op-maquette .lotpager .lp-nav:active{background:#eff6ff;}
#feature-panel.op-maquette .lotpager .lp-nav[disabled]{opacity:.35;cursor:default;}
#feature-panel.op-maquette .lotpager .lp-mid{flex:1;min-width:0;min-height:40px;border:1.5px solid #2563eb;background:#fff;border-radius:10px;color:#1e40af;font-weight:800;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--op-font);padding:0 8px;}
#feature-panel.op-maquette .lotpager .lp-mid .lp-pos{flex:none;}
#feature-panel.op-maquette .lotpager .lp-mid .lp-ti{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:var(--op-ink-3);font-weight:700;font-size:12px;}
#feature-panel.op-maquette .lotpager .lp-mid .chev{font-size:11px;opacity:.8;flex:none;}
/* ============================================================
     TYPE DE FICHE — etiquette homogene sous l'adresse (TOUJOURS visible)
     simple = neutre gris ; collectif mono/copro = bleu copro #2563eb
     ============================================================ */
#feature-panel.op-maquette .ptype{display:inline-flex;align-items:center;gap:7px;min-height:30px;margin:0 13px 9px;padding:5px 11px 5px 9px;
         border-radius:999px;border:1px solid var(--op-line);background:var(--op-surface-2);
         font-size:11.5px;font-weight:800;color:var(--op-ink-2);cursor:pointer;max-width:calc(100% - 26px);}
#feature-panel.op-maquette .ptype .pt-emo{font-size:14px;line-height:1;flex:none;}
#feature-panel.op-maquette .ptype .pt-txt{line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#feature-panel.op-maquette .ptype .pt-edit{flex:none;font-size:10px;font-weight:800;color:var(--op-ink-faint);text-transform:uppercase;letter-spacing:.3px;}
#feature-panel.op-maquette .ptype.is-collectif{background:#eff6ff;border-color:#bfdbfe;color:#1e40af;}
#feature-panel.op-maquette .ptype.is-collectif .pt-edit{color:#60a5fa;}
/* sheet choix de type : reutilise .opt deja en place */
/* ====== FORMULAIRE COPRO pre-rempli registre (RNIC) ====== */
#feature-panel.op-maquette .copro-form{padding:2px 16px 0;}
#feature-panel.op-maquette .copro-prefill{display:flex;align-items:center;gap:8px;margin:2px 0 10px;font-size:11.5px;font-weight:700;color:#1e40af;
                 background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;padding:8px 11px;line-height:1.3;}
#feature-panel.op-maquette .copro-prefill .cp-dot{width:7px;height:7px;border-radius:999px;background:#2563eb;flex:none;}
#feature-panel.op-maquette .cf-row{margin-top:12px;}
#feature-panel.op-maquette .cf-lbl{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--op-ink-3);margin-bottom:6px;}
#feature-panel.op-maquette .cf-input{width:100%;min-height:48px;border:1.5px solid var(--op-line);border-radius:12px;padding:0 14px;
            font-size:16px;font-family:var(--op-font);color:var(--op-ink);background:var(--op-surface);}
#feature-panel.op-maquette .cf-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.16);}
#feature-panel.op-maquette .cf-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
#feature-panel.op-maquette .cf-seg{display:flex;gap:7px;flex-wrap:wrap;}
#feature-panel.op-maquette .cf-seg .cf-opt{min-height:44px;display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;
                  border:1.5px solid var(--op-line);background:var(--op-surface);font-weight:700;font-size:13px;
                  color:var(--op-ink-2);cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .cf-seg .cf-opt[data-sel="1"]{border-color:#2563eb;background:#eff6ff;color:#1e40af;}
#feature-panel.op-maquette .cf-syndnom.cf-hidden{display:none;}
/* vue "Tout l'immeuble" dans l'onglet Le bien */
#feature-panel.op-maquette .bld-card{background:var(--op-surface);border:1px solid var(--op-line);border-radius:14px;overflow:hidden;margin-bottom:12px;}
#feature-panel.op-maquette .bld-head{display:flex;align-items:center;gap:11px;padding:13px;}
#feature-panel.op-maquette .bld-emo{width:42px;height:42px;border-radius:11px;background:#eff6ff;display:flex;align-items:center;justify-content:center;font-size:21px;flex:none;}
#feature-panel.op-maquette .bld-t{flex:1;font-size:15px;font-weight:800;color:var(--op-ink);line-height:1.2;}
#feature-panel.op-maquette .bld-t small{display:block;font-weight:600;font-size:12px;color:var(--op-ink-3);margin-top:2px;}
#feature-panel.op-maquette .bld-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 13px 12px;}
#feature-panel.op-maquette .bld-stat{background:var(--op-surface-2);border:1px solid var(--op-line);border-radius:11px;padding:9px 6px;text-align:center;}
#feature-panel.op-maquette .bld-stat b{display:block;font-size:16px;font-weight:800;color:var(--op-ink);}
#feature-panel.op-maquette .bld-stat span{font-size:9.5px;color:var(--op-ink-3);text-transform:uppercase;font-weight:700;letter-spacing:.2px;}
#feature-panel.op-maquette .bld-syndic{font-size:12px;font-weight:700;color:#1e40af;background:#eff6ff;border-top:1px solid #dbeafe;padding:9px 13px;}
/* liste des logements */
#feature-panel.op-maquette .lot-list-h{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--op-ink-3);margin:4px 2px 7px;}
#feature-panel.op-maquette .lot-list{background:var(--op-surface);border:1px solid var(--op-line);border-radius:14px;overflow:hidden;margin-bottom:12px;}
#feature-panel.op-maquette .lot-row{display:flex;align-items:center;gap:11px;padding:12px 13px;min-height:56px;border-top:1px solid var(--op-line);cursor:pointer;}
#feature-panel.op-maquette .lot-row:first-child{border-top:none;}
#feature-panel.op-maquette .lot-row:active{background:var(--op-surface-2);}
#feature-panel.op-maquette .lot-no{width:34px;height:34px;border-radius:9px;background:#eff6ff;color:#1e40af;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;flex:none;}
#feature-panel.op-maquette .lot-body{flex:1;min-width:0;}
#feature-panel.op-maquette .lot-body .lot-k{font-size:13.5px;font-weight:800;color:var(--op-ink);line-height:1.2;}
#feature-panel.op-maquette .lot-body .lot-s{font-size:11.5px;color:var(--op-ink-3);margin-top:1px;}
#feature-panel.op-maquette .lot-st{font-size:10px;font-weight:800;color:#fff;border-radius:999px;padding:3px 9px;flex:none;}
/* ===== BIEN MIXTE : marquage commerce/local (additif, ton ardoise neutre — l'or reste au mandat) ===== */
#feature-panel.op-maquette .lot-no.is-com{background:#f1f5f9;color:#475569;}
/* pastille commerce : repère neutre, garde le n° */
#feature-panel.op-maquette .lot-badge-com{font-size:9px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:2px 7px;flex:none;align-self:center;}
#feature-panel.op-maquette .bld-stat .bld-com-sub{display:block;font-size:9px;font-weight:700;color:var(--op-ink-faint);text-transform:none;letter-spacing:0;margin-top:1px;}
#feature-panel.op-maquette .lot-usage{border:1px solid var(--op-line);border-radius:14px;background:var(--op-surface);padding:11px 13px;margin-bottom:12px;}
#feature-panel.op-maquette .lot-usage-h{font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--op-ink-3);margin-bottom:8px;display:flex;align-items:center;gap:6px;}
#feature-panel.op-maquette .lot-usage .lu-i{width:16px;height:16px;border-radius:999px;border:1px solid var(--op-line);color:var(--op-ink-3);font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none;}
#feature-panel.op-maquette .lot-usage-hint{font-size:11px;color:var(--op-ink-3);margin-top:7px;line-height:1.3;}
/* ===== EN VENTE DANS L'IMMEUBLE (vue d'ensemble) — additif, couleur annonce #d946ef ===== */
#feature-panel.op-maquette .bld-sales{border:1px solid rgba(217,70,239,.30);border-radius:14px;overflow:hidden;background:var(--op-surface);margin-bottom:12px;border-left:4px solid var(--op-mission-annonce);}
#feature-panel.op-maquette .bld-sales .bs-kick{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#fff;background:var(--op-mission-annonce);padding:9px 13px;}
#feature-panel.op-maquette .bld-sales .bs-kick .bs-live{width:8px;height:8px;border-radius:999px;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.35);flex:none;}
#feature-panel.op-maquette .bld-sales .bs-kick .bs-count{margin-left:auto;background:#fff;color:#a21caf;border-radius:999px;font-size:11px;font-weight:800;padding:2px 9px;}
#feature-panel.op-maquette .bld-sales .bs-kick .bs-i{flex:none;width:24px;height:24px;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font-style:italic;font-family:Georgia,serif;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;}
/* lignes */
#feature-panel.op-maquette .bs-row{display:flex;align-items:center;gap:11px;padding:11px 13px;min-height:56px;border-top:1px solid rgba(217,70,239,.16);cursor:pointer;background:none;border-left:none;border-right:none;border-bottom:none;width:100%;text-align:left;font-family:var(--op-font);}
#feature-panel.op-maquette .bs-row:first-of-type{border-top:none;}
#feature-panel.op-maquette .bs-row:active{background:rgba(217,70,239,.06);}
#feature-panel.op-maquette .bs-no{flex:none;min-width:40px;height:40px;border-radius:10px;background:#fdf4ff;color:#a21caf;border:1px solid rgba(217,70,239,.30);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12.5px;line-height:1;}
#feature-panel.op-maquette .bs-no.unlinked{background:#fff7ed;color:#9a3412;border-color:rgba(234,88,12,.30);font-size:16px;}
#feature-panel.op-maquette .bs-body{flex:1;min-width:0;}
#feature-panel.op-maquette .bs-k{font-size:13.5px;font-weight:800;color:var(--op-ink);line-height:1.2;}
#feature-panel.op-maquette .bs-s{font-size:12px;color:var(--op-ink-3);margin-top:2px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
#feature-panel.op-maquette .bs-ag{font-weight:800;color:var(--op-ink-2);}
#feature-panel.op-maquette .bs-ag .bs-dot{width:6px;height:6px;border-radius:999px;background:var(--op-mission-annonce);display:inline-block;margin-right:5px;vertical-align:middle;}
#feature-panel.op-maquette .bs-price{flex:none;text-align:right;font-weight:800;font-size:13px;color:#a21caf;}
#feature-panel.op-maquette .bs-price.unreliable{color:var(--op-ink-3);font-weight:700;font-size:12px;}
#feature-panel.op-maquette .bs-chev{flex:none;color:var(--op-ink-faint);font-size:18px;}
/* ligne à rattacher : badge + bouton 1 clic */
#feature-panel.op-maquette .bs-row.unlinked{background:linear-gradient(180deg,#fff7ed,var(--op-surface));}
#feature-panel.op-maquette .bs-flag{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#9a3412;border:1.5px solid rgba(234,88,12,.4);border-radius:5px;padding:1px 6px;}
#feature-panel.op-maquette .bs-attach{flex:none;min-height:44px;padding:0 14px;border-radius:11px;border:none;background:var(--op-mission-annonce);color:#fff;font-weight:800;font-size:12.5px;cursor:pointer;font-family:var(--op-font);box-shadow:0 4px 12px rgba(217,70,239,.26);}
#feature-panel.op-maquette .bs-attach:active{filter:brightness(.93);}
/* ===== MODELE CONFIRMATION : vente verte a confirmer (lot inconnu) ===== */
#feature-panel.op-maquette .bs-no.toconfirm{background:#fdf4ff;color:#a21caf;border-color:rgba(217,70,239,.30);font-size:15px;}
#feature-panel.op-maquette .bs-no.confirmed{background:#ecfdf5;color:#047857;border-color:rgba(5,150,105,.35);font-size:16px;}
#feature-panel.op-maquette .bs-row.toconfirm{background:linear-gradient(180deg,#fdf4ff,var(--op-surface));}
#feature-panel.op-maquette .bs-flag.ok{color:#047857;border-color:rgba(5,150,105,.4);}
#feature-panel.op-maquette .bs-confirm{flex:none;min-height:44px;padding:0 16px;border-radius:11px;border:none;background:var(--op-mission-annonce);color:#fff;font-weight:800;font-size:12.5px;cursor:pointer;font-family:var(--op-font);box-shadow:0 4px 12px rgba(217,70,239,.26);}
#feature-panel.op-maquette .bs-confirm:active{filter:brightness(.93);}
#feature-panel.op-maquette .bs-precise{appearance:none;border:none;background:none;padding:0;margin:0;color:#a21caf;font-weight:800;font-size:11.5px;text-decoration:underline;cursor:pointer;font-family:var(--op-font);display:inline-flex;align-items:center;min-height:44px;}
#feature-panel.op-maquette .bs-precise:active{opacity:.7;}
/* ===== A VERIFIER (oranges, concurrence) : ton neutre, jamais une vente certaine ===== */
#feature-panel.op-maquette .bs-review{border:1px solid var(--op-line);border-radius:14px;overflow:hidden;background:var(--op-surface);margin-bottom:12px;border-left:4px solid #f59e0b;}
#feature-panel.op-maquette .bs-review .bs-review-kick{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#92400e;background:#fffbeb;padding:9px 13px;}
#feature-panel.op-maquette .bs-review .bs-review-kick .bs-i{margin-left:auto;background:rgba(146,64,14,.10);color:#92400e;}
#feature-panel.op-maquette .bs-rev-row{padding:12px 13px;border-top:1px solid var(--op-line);}
#feature-panel.op-maquette .bs-rev-row:first-of-type{border-top:none;}
#feature-panel.op-maquette .bs-rev-txt{font-size:13px;color:var(--op-ink-2);line-height:1.45;}
#feature-panel.op-maquette .bs-rev-txt b{color:var(--op-ink);font-weight:800;}
#feature-panel.op-maquette .bs-yn{display:flex;gap:8px;margin-top:10px;}
#feature-panel.op-maquette .bs-yn-yes{flex:1;min-height:44px;border-radius:11px;border:none;background:#059669;color:#fff;font-weight:800;font-size:12.5px;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .bs-yn-yes:active{filter:brightness(.93);}
#feature-panel.op-maquette .bs-yn-no{flex:none;min-height:44px;padding:0 18px;border-radius:11px;border:1.5px solid var(--op-line);background:#fff;color:var(--op-ink-2);font-weight:800;font-size:12.5px;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .bs-yn-no:active{background:var(--op-surface-2);}
/* ===== sheet de confirmation ===== */
#feature-panel.op-maquette .conf-actions{display:flex;flex-direction:column;gap:10px;margin-top:6px;}
#feature-panel.op-maquette .conf-yes{min-height:52px;border-radius:13px;border:none;background:#059669;color:#fff;font-weight:800;font-size:15px;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .conf-yes:active{filter:brightness(.93);}
#feature-panel.op-maquette .conf-no{min-height:50px;border-radius:13px;border:1.5px solid var(--op-line);background:#fff;color:var(--op-ink-2);font-weight:800;font-size:14px;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .conf-no:active{background:var(--op-surface-2);}
#feature-panel.op-maquette .conf-precise-h{font-size:13px;font-weight:800;color:var(--op-ink);margin:4px 2px 8px;}
#feature-panel.op-maquette .conf-precise-h span{font-weight:700;color:var(--op-ink-faint);}
#feature-panel.op-maquette .conf-later{width:100%;min-height:46px;margin-top:10px;border-radius:12px;border:1.5px solid var(--op-line);background:#fff;color:var(--op-ink-2);font-weight:800;font-size:13.5px;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .conf-later:active{background:var(--op-surface-2);}
#feature-panel.op-maquette .lot-chev{color:var(--op-ink-faint);font-size:14px;flex:none;}
/* croix retrait d'un lot ajouté à la main */
#feature-panel.op-maquette .lot-x{flex:none;width:36px;height:36px;border-radius:9px;border:1.5px solid var(--op-line);background:#fff;color:#b91c1c;font-size:17px;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--op-font);margin-left:2px;}
#feature-panel.op-maquette .lot-x:active{background:#fef2f2;}
/* bouton « + Ajouter un lot » sous la liste */
#feature-panel.op-maquette .lot-add{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border:1.5px dashed #bfdbfe;border-radius:13px;background:#eff6ff;color:#1e40af;font-size:13.5px;font-weight:800;cursor:pointer;font-family:var(--op-font);margin:0 0 14px;padding:0 14px;}
#feature-panel.op-maquette .lot-add:active{background:#dbeafe;}
#feature-panel.op-maquette .lot-add .la-plus{font-size:18px;line-height:1;font-weight:800;}
/* déclaration en 1 clic (quand l'app ne sait pas que c'est une copro) */
#feature-panel.op-maquette .mark-copro{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1.5px dashed #bfdbfe;border-radius:13px;background:#eff6ff;margin-bottom:12px;}
#feature-panel.op-maquette .mark-copro .mc-t{flex:1;font-size:12.5px;font-weight:700;color:var(--op-ink-2);line-height:1.35;}
#feature-panel.op-maquette .mark-copro button{flex:none;min-height:42px;border:0;background:#2563eb;color:#fff;border-radius:11px;font-weight:800;font-size:12.5px;padding:0 14px;cursor:pointer;font-family:var(--op-font);}
/* refonte type : repère détecté/déclaré, garde, revert */
#feature-panel.op-maquette .type-flag{font-size:12px;line-height:1.35;padding:8px 10px;border-radius:10px;margin:0 0 10px;display:none}
#feature-panel.op-maquette .type-flag.show{display:block}
#feature-panel.op-maquette .type-flag.detected{background:#eff6ff;color:#1e40af}
#feature-panel.op-maquette .type-flag.declared{background:#f1f5f9;color:#475569}
#feature-panel.op-maquette .type-revert{margin-top:12px}
#feature-panel.op-maquette .type-revert .revert-btn{width:100%;min-height:46px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:12px;font-weight:700;font-size:14px}
#feature-panel.op-maquette .collectif-warn{display:none;font-size:13px;line-height:1.4;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:12px;padding:11px 12px;margin:0 0 6px}
#feature-panel.op-maquette .collectif-warn.show{display:block}
#feature-panel.op-maquette #collOwnerSeg .cf-opt[data-owner="copro"][data-sel] ~ *,
#feature-panel.op-maquette #collOwnerSeg{--coll-accent:#2563eb}
/* ===== ACTIVITÉ IMMEUBLE (vue d'ensemble) ===== */
#feature-panel.op-maquette .bld-act{margin-bottom:12px;}
/* avancement */
#feature-panel.op-maquette .bld-prog{background:var(--op-surface);border:1px solid var(--op-line);border-radius:14px;padding:12px 13px;margin-bottom:12px;}
#feature-panel.op-maquette .bld-prog-row{display:flex;align-items:center;gap:10px;}
#feature-panel.op-maquette .bld-prog-row + .bld-prog-row{margin-top:10px;}
#feature-panel.op-maquette .bp-ico{width:30px;height:30px;border-radius:9px;flex:none;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff;}
#feature-panel.op-maquette .bp-ico.boit{background:#7c3aed;}
#feature-panel.op-maquette .bp-ico.disc{background:#06b6d4;}
#feature-panel.op-maquette .bp-main{flex:1;min-width:0;}
#feature-panel.op-maquette .bp-top{display:flex;justify-content:space-between;align-items:baseline;}
#feature-panel.op-maquette .bp-lbl{font-size:12.5px;font-weight:800;color:var(--op-ink);}
#feature-panel.op-maquette .bp-val{font-size:12.5px;font-weight:800;color:var(--op-ink-2);}
#feature-panel.op-maquette .bp-bar{height:7px;border-radius:999px;background:var(--op-surface-2);margin-top:6px;overflow:hidden;}
#feature-panel.op-maquette .bp-fill{height:100%;border-radius:999px;transition:width .3s;}
#feature-panel.op-maquette .bp-fill.boit{background:#7c3aed;}
#feature-panel.op-maquette .bp-fill.disc{background:#06b6d4;}
#feature-panel.op-maquette .bp-rest{font-size:11px;font-weight:700;color:var(--op-ink-3);margin-top:4px;}
/* anti-doublon collègue */
#feature-panel.op-maquette .bld-warn{display:flex;align-items:center;gap:9px;background:#fffbeb;border:1.5px solid #fde68a;border-radius:13px;padding:11px 13px;margin-bottom:12px;}
#feature-panel.op-maquette .bld-warn .bw-ico{flex:none;font-size:17px;}
#feature-panel.op-maquette .bld-warn .bw-t{flex:1;font-size:12.5px;font-weight:700;color:#92400e;line-height:1.35;}
/* accès / digicode */
#feature-panel.op-maquette .bld-access{background:var(--op-surface);border:1px solid var(--op-line);border-radius:14px;padding:12px 13px;margin-bottom:12px;}
#feature-panel.op-maquette .ba-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;}
#feature-panel.op-maquette .ba-head .ba-h{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--op-ink-3);}
#feature-panel.op-maquette .ba-edit{min-height:32px;border:1.5px solid #bfdbfe;background:#eff6ff;color:#1e40af;border-radius:9px;font-weight:800;font-size:11.5px;padding:0 11px;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .ba-grid{display:flex;flex-direction:column;gap:8px;}
#feature-panel.op-maquette .ba-item{display:flex;align-items:center;gap:10px;}
#feature-panel.op-maquette .ba-k{font-size:11px;font-weight:700;color:var(--op-ink-3);width:78px;flex:none;text-transform:uppercase;letter-spacing:.2px;}
#feature-panel.op-maquette .ba-v{font-size:13.5px;font-weight:800;color:var(--op-ink);}
#feature-panel.op-maquette .ba-v.code{font-size:16px;letter-spacing:1px;background:#eff6ff;color:#1e40af;border-radius:8px;padding:3px 10px;}
#feature-panel.op-maquette .ba-empty{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1.5px dashed #bfdbfe;border-radius:13px;background:#eff6ff;}
#feature-panel.op-maquette .ba-empty .mc-t{flex:1;font-size:12.5px;font-weight:700;color:var(--op-ink-2);line-height:1.35;}
#feature-panel.op-maquette .ba-empty button{flex:none;min-height:42px;border:0;background:#2563eb;color:#fff;border-radius:11px;font-weight:800;font-size:12.5px;padding:0 14px;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .acc-lbl{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:var(--op-ink-3);margin:10px 2px 4px;}
/* bouton boîter tout l'immeuble */
#feature-panel.op-maquette .bld-mass{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:52px;border:0;border-radius:14px;background:#7c3aed;color:#fff;font-size:14.5px;font-weight:800;cursor:pointer;font-family:var(--op-font);margin-bottom:12px;box-shadow:0 2px 8px rgba(124,58,237,.28);}
#feature-panel.op-maquette .bld-mass:active{background:#6d28d9;}
#feature-panel.op-maquette .bld-mass .bm-ico{font-size:17px;}
/* flyers agrégés */
#feature-panel.op-maquette .bld-fly{background:var(--op-surface);border:1px solid var(--op-line);border-radius:14px;padding:12px 13px;margin-bottom:12px;}
#feature-panel.op-maquette .bf-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
#feature-panel.op-maquette .bf-h{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--op-ink-3);}
#feature-panel.op-maquette .bf-cov{font-size:11.5px;font-weight:800;color:#6d28d9;background:#f5f3ff;border-radius:999px;padding:3px 10px;}
#feature-panel.op-maquette .bf-item{padding:8px 0;border-top:1px dashed var(--op-line);}
#feature-panel.op-maquette .bf-item:first-of-type{border-top:none;}
#feature-panel.op-maquette .bf-l1{font-size:13px;font-weight:800;color:var(--op-ink);}
#feature-panel.op-maquette .bf-l2{font-size:11.5px;color:var(--op-ink-3);margin-top:2px;}
#feature-panel.op-maquette .bf-empty{font-size:12.5px;color:var(--op-ink-3);padding:4px 0;}
/* notes immeuble agrégées */
#feature-panel.op-maquette .bld-notes{background:var(--op-surface);border:1px solid var(--op-line);border-radius:14px;padding:12px 13px;margin-bottom:12px;}
#feature-panel.op-maquette .bn-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;}
#feature-panel.op-maquette .bn-h{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--op-ink-3);}
#feature-panel.op-maquette .bn-add{min-height:32px;border:1.5px solid #bfdbfe;background:#eff6ff;color:#1e40af;border-radius:9px;font-weight:800;font-size:11.5px;padding:0 11px;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .bn-item{padding:9px 0;border-top:1px solid var(--op-line);}
#feature-panel.op-maquette .bn-item:first-of-type{border-top:none;}
#feature-panel.op-maquette .bn-meta{display:flex;align-items:center;gap:7px;margin-bottom:3px;flex-wrap:wrap;}
#feature-panel.op-maquette .bn-date{font-size:11px;font-weight:700;color:var(--op-ink-3);}
#feature-panel.op-maquette .bn-tag{font-size:10px;font-weight:800;border-radius:999px;padding:2px 8px;cursor:default;}
#feature-panel.op-maquette .bn-tag.imm{background:#eff6ff;color:#1e40af;}
#feature-panel.op-maquette .bn-tag.lot{background:#f1f5f9;color:#334155;cursor:pointer;}
#feature-panel.op-maquette .bn-tag.lot:active{background:#e2e8f0;}
#feature-panel.op-maquette .bn-txt{font-size:13px;font-weight:600;color:var(--op-ink-2);line-height:1.4;}
#feature-panel.op-maquette .bn-empty{font-size:12.5px;color:var(--op-ink-3);padding:4px 0;}
/* feuille boîtage de masse : lignes cochables */
#feature-panel.op-maquette .mf-tools{display:flex;gap:8px;margin:10px 0 8px;flex-wrap:wrap;}
#feature-panel.op-maquette .mf-tool{min-height:34px;border:1.5px solid var(--op-line);background:#fff;border-radius:9px;font-weight:800;font-size:11.5px;padding:0 11px;cursor:pointer;font-family:var(--op-font);color:var(--op-ink-2);}
#feature-panel.op-maquette .mf-tool:active{background:var(--op-surface-2);}
#feature-panel.op-maquette .mf-list{max-height:38vh;overflow:auto;border:1px solid var(--op-line);border-radius:12px;}
#feature-panel.op-maquette .mf-floor{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:var(--op-ink-3);background:var(--op-surface-2);padding:6px 12px;display:flex;justify-content:space-between;align-items:center;}
#feature-panel.op-maquette .mf-floor .mff-btn{font-size:10.5px;font-weight:800;color:#6d28d9;cursor:pointer;}
#feature-panel.op-maquette .mf-row{display:flex;align-items:center;gap:11px;padding:11px 12px;min-height:48px;border-top:1px solid var(--op-line);cursor:pointer;}
#feature-panel.op-maquette .mf-row:active{background:var(--op-surface-2);}
#feature-panel.op-maquette .mf-ck{width:24px;height:24px;border-radius:7px;border:2px solid #cbd5e1;flex:none;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;font-weight:800;}
#feature-panel.op-maquette .mf-row[data-ck="1"] .mf-ck{background:#7c3aed;border-color:#7c3aed;}
#feature-panel.op-maquette .mf-row[data-ck="1"] .mf-ck::after{content:"✓";}
#feature-panel.op-maquette .mf-bd{flex:1;min-width:0;}
#feature-panel.op-maquette .mf-bd .mf-k{font-size:13px;font-weight:800;color:var(--op-ink);}
#feature-panel.op-maquette .mf-bd .mf-s{font-size:11px;color:var(--op-ink-3);margin-top:1px;}
#feature-panel.op-maquette .mf-dot{width:9px;height:9px;border-radius:50%;flex:none;}
#feature-panel.op-maquette .mf-count{font-size:13.5px;font-weight:800;color:var(--op-ink);text-align:center;margin:10px 0 4px;}
#feature-panel.op-maquette .mf-count b{color:#6d28d9;}
/* mini-stepper nb logements */
#feature-panel.op-maquette .step{display:flex;align-items:center;gap:14px;margin:10px 16px 0;}
#feature-panel.op-maquette .step button{width:46px;height:46px;border-radius:11px;border:1.5px solid var(--op-line);background:#fff;font-size:22px;font-weight:800;color:var(--op-ink);cursor:pointer;}
#feature-panel.op-maquette .step .step-v{font-size:22px;font-weight:800;min-width:40px;text-align:center;}
#feature-panel.op-maquette .step-lbl{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--op-ink-3);margin:14px 16px 0;}
/* ============================================================
     >>> SNIPPET RÉUTILISABLE — DÉBUT (CSS) <<<
     R6-1 : REPÈRES DE PRÉSENCE — couleur portée par la rubrique (var --mc),
     un seul jeu de classes, pulse UNE FOIS à l'ouverture (.is-fresh retirée par JS).
     L'absence d'info ne porte AUCUN repère. JAMAIS de rouge permanent.
     - .op-mark   : point = info présente (sans nombre)
     - .op-count  : compteur = info présente avec un nombre
     - .op-fill   : libellé texte qui prend la couleur de la rubrique
     - .op-mark--alert : SEUL cas rouge + pulse continu (échéance concurrent réelle)
     ============================================================ */
#feature-panel.op-maquette .op-mark{display:inline-block;width:9px;height:9px;border-radius:999px;flex:none;background:var(--mc,var(--op-ink-faint));vertical-align:middle;}
#feature-panel.op-maquette .op-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:999px;font-size:10.5px;font-weight:800;color:#fff;background:var(--mc,var(--op-ink-2));line-height:1;vertical-align:middle;}
#feature-panel.op-maquette .op-fill{color:var(--mc,var(--op-ink));font-weight:800;}
#feature-panel.op-maquette .op-mark.is-fresh,
#feature-panel.op-maquette .op-count.is-fresh{animation:opMarkPulse .9s ease-out 1;}
@keyframes opMarkPulse{
    0%{box-shadow:0 0 0 0 var(--mc-glow,rgba(15,23,42,.45));}
    70%{box-shadow:0 0 0 7px var(--mc-glow-0,rgba(15,23,42,0));}
    100%{box-shadow:0 0 0 0 var(--mc-glow-0,rgba(15,23,42,0));}
  }
#feature-panel.op-maquette .op-mark--alert{background:var(--op-mission-rue)!important;animation:opAlertPulse 1.4s ease-in-out infinite;}
@keyframes opAlertPulse{
    0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.55);}
    50%{box-shadow:0 0 0 6px rgba(239,68,68,0);}
  }
/* repère posé sur un onglet : petit décalage pour ne pas coller au texte */
#feature-panel.op-maquette .tab .op-mark,
#feature-panel.op-maquette .tab .op-count{margin-left:1px;}
@media (prefers-reduced-motion: reduce){
#feature-panel.op-maquette .op-mark,
#feature-panel.op-maquette .op-count,
#feature-panel.op-maquette .op-mark--alert{animation:none!important;}
}
/* >>> SNIPPET RÉUTILISABLE — FIN (CSS) <<< */
/* ============================================================ CORPS ============================================================ */
#feature-panel.op-maquette .body{padding:14px;display:none;}
#feature-panel.op-maquette .body[data-active="1"]{display:block;}
/* prospection : UNE ligne par info */
#feature-panel.op-maquette .infolist{background:var(--op-surface);border:1px solid var(--op-line);border-radius:var(--op-r-card-2);overflow:hidden;margin-bottom:12px;}
#feature-panel.op-maquette .iline{display:flex;align-items:center;gap:11px;padding:12px 13px;min-height:52px;border-top:1px solid var(--op-line);cursor:pointer;}
#feature-panel.op-maquette .iline:first-child{border-top:none;}
/* R2-9 : pastille de couleur sobre (indicateur), plus d'emoji sur les lignes cliquables */
#feature-panel.op-maquette .iline .il-ico{width:10px;height:10px;border-radius:999px;background:var(--op-ink-faint);flex:none;align-self:center;}
#feature-panel.op-maquette .iline .il-k{font-size:11px;font-weight:700;color:var(--op-ink-3);text-transform:uppercase;letter-spacing:.3px;}
#feature-panel.op-maquette .iline .il-v{font-size:13.5px;font-weight:800;color:var(--op-ink);margin-top:1px;line-height:1.25;}
#feature-panel.op-maquette .iline .il-v .il-sub{display:block;font-size:11px;font-weight:600;color:var(--op-ink-3);margin-top:1px;}
#feature-panel.op-maquette .iline .il-body{flex:1;min-width:0;}
#feature-panel.op-maquette .iline .il-chev{color:var(--op-ink-faint);font-size:13px;flex:none;}
#feature-panel.op-maquette .iline .il-dot{width:9px;height:9px;border-radius:999px;flex:none;}
/* R2-1/R2-8 : la ligne Flyer en CONSULTATION = type en VRAI violet gras, pas de switch */
#feature-panel.op-maquette .iline.flyerline .il-v{color:var(--op-mission-boitage);}
#feature-panel.op-maquette .iline.flyerline.off .il-v{color:var(--op-ink);}

/* ============================================================
   [LOT-OCCUPATION 2026-07-02] STATUT D'OCCUPATION VISIBLE v2
   Maquette VALIDÉE : mockups/occupation_visible/v2/index.html.
   La ligne #lineOccRow devient une CASE PLEINE COULEUR quand un
   statut est choisi (logo + texte BLANCS, libellé petites capitales),
   et CLIGNOTE doucement (pulse ~2,1 s) tant que « À renseigner ».
   Palette occupation DÉDIÉE (hors couleurs de mission).
   ============================================================ */
/* palette occupation (source de vérité maquette v2) */
#feature-panel.op-maquette{
  --occ-owner:#2563eb;    /* bleu roi — propriétaire occupant */
  --occ-tenant:#0d9488;   /* teal profond — locataire */
  --occ-managed:#4f46e5;  /* indigo — gestion locative */
  --occ-vacant:#a16207;   /* ocre bronze — vacant */
  --occ-aband:#57534e;    /* pierre foncée — à l'abandon */
  --occ-immeuble:#334155; /* ardoise graphite — immeuble (SCI) */
  --occ-imm-aband:#1e293b;/* graphite foncé — immeuble à l'abandon */
  --occ-appts:#475569;    /* ardoise — appartements en gestion */
  --occ-unknown:#64748b;  /* gris slate — occupation non renseignée */
}
/* conteneur autonome de la case (hors .infolist -> pas d'overflow qui rogne l'ombre) */
#feature-panel.op-maquette .occ-block{margin:2px 0 12px;}
/* la case : surcharge le style .iline sobre en case pleine largeur qui saute aux yeux */
#feature-panel.op-maquette .iline.occ-case{
  position:relative;gap:12px;min-height:56px;margin:0;padding:12px 14px;
  border:2px solid transparent;border-top:2px solid transparent;border-radius:14px;
  box-shadow:0 4px 14px rgba(15,23,42,.10);
  transition:transform .06s ease,box-shadow .14s ease,filter .12s ease;
}
#feature-panel.op-maquette .iline.occ-case:active{transform:scale(.99);}
/* logo dans un carré 40px (remplace la pastille ronde 10px) */
#feature-panel.op-maquette .iline.occ-case .il-ico{
  width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;align-self:center;flex:none;
}
#feature-panel.op-maquette .iline.occ-case .il-ico svg{width:22px;height:22px;color:#fff;}
/* libellé (petites capitales) + valeur blancs sur case pleine */
#feature-panel.op-maquette .iline.occ-case .il-k{
  font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;
  color:rgba(255,255,255,.82);line-height:1;
}
#feature-panel.op-maquette .iline.occ-case .il-v{
  font-size:16px;font-weight:800;letter-spacing:-.2px;color:#fff;line-height:1.15;margin-top:3px;
}
#feature-panel.op-maquette .iline.occ-case .il-chev{color:rgba(255,255,255,.9);font-size:16px;}
/* fond plein par statut (les 8 renseignés) */
#feature-panel.op-maquette .iline.occ-case.owner    {background:var(--occ-owner);}
#feature-panel.op-maquette .iline.occ-case.tenant   {background:var(--occ-tenant);}
#feature-panel.op-maquette .iline.occ-case.managed  {background:var(--occ-managed);}
#feature-panel.op-maquette .iline.occ-case.vacant   {background:var(--occ-vacant);}
#feature-panel.op-maquette .iline.occ-case.aband    {background:var(--occ-aband);}
#feature-panel.op-maquette .iline.occ-case.immeuble {background:var(--occ-immeuble);}
#feature-panel.op-maquette .iline.occ-case.imm-aband{background:var(--occ-imm-aband);}
#feature-panel.op-maquette .iline.occ-case.appts    {background:var(--occ-appts);}
/* NON RENSEIGNÉ : gris clair + logo/texte encre + PULSE DOUX (~2,1 s) */
#feature-panel.op-maquette .iline.occ-case.unknown{
  background:#f4f6f9;border:2px solid var(--occ-unknown);
  box-shadow:0 0 0 0 rgba(100,116,139,.30);
  animation:occPulse 2.1s ease-in-out infinite;
}
#feature-panel.op-maquette .iline.occ-case.unknown .il-ico{background:rgba(100,116,139,.14);}
#feature-panel.op-maquette .iline.occ-case.unknown .il-ico svg{color:var(--occ-unknown);}
#feature-panel.op-maquette .iline.occ-case.unknown .il-k{color:var(--occ-unknown);}
#feature-panel.op-maquette .iline.occ-case.unknown .il-v{color:var(--op-ink-2);}
#feature-panel.op-maquette .iline.occ-case.unknown .il-chev{color:var(--occ-unknown);}
/* halo qui respire + bordure qui se renforce (amplitudes contenues, jamais de flash) */
@keyframes occPulse{
  0%  {box-shadow:0 0 0 0   rgba(100,116,139,0);   border-color:#b6c0cd;}
  50% {box-shadow:0 0 0 6px rgba(100,116,139,.14); border-color:var(--occ-unknown);}
  100%{box-shadow:0 0 0 0   rgba(100,116,139,0);   border-color:#b6c0cd;}
}
/* le skin coupe déjà toute animation en reduced-motion (règle * animation:none) ;
   on garantit alors un halo STATIQUE léger + bordure franche (pas de case morte). */
@media (prefers-reduced-motion: reduce){
  #feature-panel.op-maquette .iline.occ-case.unknown{
    animation:none!important;border-color:var(--occ-unknown);
    box-shadow:0 0 0 3px rgba(100,116,139,.16);
  }
}

/* ---- MENU DÉROULANT (#sheetOcc) : option colorée au repos, PLEINE si choisie ---- */
/* carré-logo (remplace la pastille .od ronde) */
#feature-panel.op-maquette #sheetOcc .opt.occ-opt .od{
  width:34px;height:34px;border-radius:10px;background:var(--op-bg);
  display:flex;align-items:center;justify-content:center;flex:none;
}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt .od svg{width:19px;height:19px;}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt .ock{
  color:#fff;visibility:hidden;display:inline-flex;align-items:center;justify-content:center;flex:none;
}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt .ock svg{width:20px;height:20px;}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt[data-sel="1"] .ock{visibility:visible;}
/* accent (bordure + logo) par statut au REPOS — options espacées et arrondies (maquette v2) */
#feature-panel.op-maquette #sheetOcc .opt.occ-opt{border:2px solid var(--op-line);border-radius:13px;margin:0 12px 9px;min-height:52px;background:var(--op-surface);}
#feature-panel.op-maquette #sheetOcc .occ-sep{margin:2px 12px 9px;border-top:none;border-radius:8px;}
#feature-panel.op-maquette #sheetOcc .occ-sep + .opt.occ-opt{border-top:2px solid var(--op-line);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.owner    {border-color:var(--occ-owner);}    #feature-panel.op-maquette #sheetOcc .opt.occ-opt.owner .od svg    {color:var(--occ-owner);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.tenant   {border-color:var(--occ-tenant);}   #feature-panel.op-maquette #sheetOcc .opt.occ-opt.tenant .od svg   {color:var(--occ-tenant);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.managed  {border-color:var(--occ-managed);}  #feature-panel.op-maquette #sheetOcc .opt.occ-opt.managed .od svg  {color:var(--occ-managed);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.vacant   {border-color:var(--occ-vacant);}   #feature-panel.op-maquette #sheetOcc .opt.occ-opt.vacant .od svg   {color:var(--occ-vacant);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.aband    {border-color:var(--occ-aband);}    #feature-panel.op-maquette #sheetOcc .opt.occ-opt.aband .od svg    {color:var(--occ-aband);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.immeuble {border-color:var(--occ-immeuble);} #feature-panel.op-maquette #sheetOcc .opt.occ-opt.immeuble .od svg {color:var(--occ-immeuble);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.imm-aband{border-color:var(--occ-imm-aband);}#feature-panel.op-maquette #sheetOcc .opt.occ-opt.imm-aband .od svg{color:var(--occ-imm-aband);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.appts    {border-color:var(--occ-appts);}    #feature-panel.op-maquette #sheetOcc .opt.occ-opt.appts .od svg    {color:var(--occ-appts);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.unknown  {border-color:var(--occ-unknown);}  #feature-panel.op-maquette #sheetOcc .opt.occ-opt.unknown .od svg  {color:var(--occ-unknown);}
/* option SÉLECTIONNÉE = FOND PLEIN couleur + logo/texte/coche BLANCS (miroir case) */
#feature-panel.op-maquette #sheetOcc .opt.occ-opt[data-sel="1"] .ot{color:#fff;}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt[data-sel="1"] .od{background:rgba(255,255,255,.22);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt[data-sel="1"] .od svg{color:#fff;}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.owner[data-sel="1"]    {background:var(--occ-owner);border-color:var(--occ-owner);box-shadow:0 6px 16px rgba(37,99,235,.30);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.tenant[data-sel="1"]   {background:var(--occ-tenant);border-color:var(--occ-tenant);box-shadow:0 6px 16px rgba(13,148,136,.30);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.managed[data-sel="1"]  {background:var(--occ-managed);border-color:var(--occ-managed);box-shadow:0 6px 16px rgba(79,70,229,.30);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.vacant[data-sel="1"]   {background:var(--occ-vacant);border-color:var(--occ-vacant);box-shadow:0 6px 16px rgba(161,98,7,.30);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.aband[data-sel="1"]    {background:var(--occ-aband);border-color:var(--occ-aband);box-shadow:0 6px 16px rgba(87,83,78,.30);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.immeuble[data-sel="1"] {background:var(--occ-immeuble);border-color:var(--occ-immeuble);box-shadow:0 6px 16px rgba(51,65,85,.30);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.imm-aband[data-sel="1"]{background:var(--occ-imm-aband);border-color:var(--occ-imm-aband);box-shadow:0 6px 16px rgba(30,41,59,.30);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.appts[data-sel="1"]    {background:var(--occ-appts);border-color:var(--occ-appts);box-shadow:0 6px 16px rgba(71,85,105,.30);}
#feature-panel.op-maquette #sheetOcc .opt.occ-opt.unknown[data-sel="1"]  {background:var(--occ-unknown);border-color:var(--occ-unknown);box-shadow:0 6px 16px rgba(100,116,139,.30);}
/* R6-2b : encart annonce agence DANS la prospection — état ASSUMÉ (rose plein en en-tête + accent latéral) */
#feature-panel.op-maquette .encart{position:relative;border:1px solid rgba(217,70,239,.30);border-radius:14px;overflow:hidden;background:var(--op-surface);margin-bottom:12px;border-left:4px solid var(--op-mission-annonce);}
/* FD4 : pastille SOURCE de l'annonce (LeBonCoin, SeLoger, Site agence…) — sobre, dans la famille rose */
#feature-panel.op-maquette .encart .e-src{display:inline-block;margin-left:8px;font-size:10px;font-weight:800;letter-spacing:.3px;color:#a21caf;background:rgba(217,70,239,.10);border:1px solid rgba(217,70,239,.28);border-radius:999px;padding:2px 8px;vertical-align:middle;}
/* FD4 : badge i/N dans le bandeau rose quand plusieurs agences */
#feature-panel.op-maquette .encart .e-kick .e-kn{margin-left:auto;font-size:10px;font-weight:900;letter-spacing:.5px;color:#fff;background:rgba(255,255,255,.22);border-radius:999px;padding:1px 8px;}
/* FD4 : bandeau compteur au-dessus de la pile multi-agences (info brute, pas de phrase) */
#feature-panel.op-maquette .enc-multi{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:#a21caf;margin-bottom:10px;}
#feature-panel.op-maquette .enc-multi .enc-m-dot{width:8px;height:8px;border-radius:999px;background:var(--op-mission-annonce);flex:none;box-shadow:0 0 0 3px rgba(217,70,239,.18);}
/* bandeau d'en-tête rose plein = signal "annonce acquise" (vs SANS agence = rose discret tireté) */
#feature-panel.op-maquette .encart .e-kick{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#fff;background:var(--op-mission-annonce);padding:9px 13px;}
#feature-panel.op-maquette .encart .e-kick .e-live{width:8px;height:8px;border-radius:999px;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.35);flex:none;}
#feature-panel.op-maquette .encart .e-top{display:flex;align-items:center;gap:10px;padding:11px 13px;}
#feature-panel.op-maquette .encart .e-logo{width:40px;height:40px;border-radius:10px;background:#0f172a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:10px;text-align:center;line-height:1.05;flex:none;}
#feature-panel.op-maquette .encart .e-name{font-size:13.5px;font-weight:800;color:var(--op-ink);}
/* prix en rose profond lisible (AA) */
#feature-panel.op-maquette .encart .e-price{font-size:13px;font-weight:800;color:#a21caf;margin-top:2px;}
#feature-panel.op-maquette .encart .e-price.unreliable{color:var(--op-ink-3);font-weight:700;}
#feature-panel.op-maquette .encart .e-loc{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;padding:9px 13px;background:rgba(217,70,239,.07);border-top:1px solid rgba(217,70,239,.18);color:var(--op-ink-2);}
#feature-panel.op-maquette .encart .e-loc .lpastille{width:8px;height:8px;border-radius:999px;background:var(--op-mission-relance);flex:none;}
#feature-panel.op-maquette .encart .e-loc.ok .lpastille{background:var(--op-mission-pro);}
#feature-panel.op-maquette .encart .e-act{display:flex;gap:8px;padding:11px 13px;flex-wrap:wrap;}
#feature-panel.op-maquette .encart .e-act .btn{min-height:44px;font-size:13px;border-radius:11px;border:1px solid var(--op-line);background:var(--op-surface);font-weight:700;color:var(--op-ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;flex:1;}
#feature-panel.op-maquette .encart .e-reject{width:100%;text-align:center;background:transparent;border:none;color:var(--op-ink-3);font-weight:700;font-size:12px;cursor:pointer;padding:4px 0 2px;text-decoration:underline;}
#feature-panel.op-maquette .btn-validloc{background:var(--op-mission-annonce)!important;color:#fff!important;border:none!important;box-shadow:0 4px 12px rgba(217,70,239,.26)!important;}
/* Valider la localisation = ROSE annonce (jamais encre/noir) */
/* ===== FD2 : point d'entrée unique "panneau à vendre" (état SANS agence) ===== */
/* Un seul bouton rose, taille <= vignette Street View (.sv-tile min-height:64px). */
#feature-panel.op-maquette .panneau-cta{display:flex;align-items:center;gap:11px;width:100%;min-height:60px;margin:0 0 12px;
           padding:0 14px;border:none;border-radius:14px;cursor:pointer;font-family:var(--op-font);
           text-align:left;background:var(--op-mission-annonce);color:#fff;
           box-shadow:0 6px 16px rgba(217,70,239,.28);}
#feature-panel.op-maquette .panneau-cta:active{filter:brightness(.93);}
/* (pastille affirmative « À VENDRE » retirée : le bouton ne pose QUE la question) */
#feature-panel.op-maquette .panneau-cta .pc-t{flex:1;min-width:0;font-size:14px;font-weight:800;line-height:1.2;}
#feature-panel.op-maquette .panneau-cta .pc-go{flex:none;font-size:18px;font-weight:800;line-height:1;opacity:.95;}
/* feuille de choix : 2 grandes options (réutilise .sheet) */
#feature-panel.op-maquette .pc-opt{display:flex;align-items:center;gap:12px;width:calc(100% - 32px);margin:0 16px 10px;
           min-height:62px;padding:0 14px;border:1.5px solid var(--op-line);border-radius:14px;
           background:#fff;cursor:pointer;font-family:var(--op-font);text-align:left;}
#feature-panel.op-maquette .pc-opt:active{filter:brightness(.97);}
#feature-panel.op-maquette .pc-opt .pco-ic{flex:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;
           justify-content:center;font-size:15px;font-weight:900;background:var(--op-mission-annonce);color:#fff;}
#feature-panel.op-maquette .pc-opt .pco-txt{flex:1;min-width:0;}
#feature-panel.op-maquette .pc-opt .pco-t{font-size:14px;font-weight:800;color:var(--op-ink);line-height:1.2;}
#feature-panel.op-maquette .pc-opt .pco-s{font-size:11.5px;color:var(--op-ink-3);margin-top:2px;line-height:1.25;}
#feature-panel.op-maquette .pc-opt .pco-chev{flex:none;color:var(--op-ink-3);font-size:16px;font-weight:800;}
/* dans la sheet "coller le lien", le moteur .scrape n'a plus besoin de l'accordéon :
     on neutralise le header d'accordéon et on force le corps ouvert quand il est DANS une sheet */
#feature-panel.op-maquette .sheet .sc-acc{border:none;background:transparent;margin-top:0;}
#feature-panel.op-maquette .sheet .sc-acc .sc-acc-head{display:none;}
#feature-panel.op-maquette .sheet .sc-acc .sc-acc-body{display:block;padding:0 16px 4px;}
/* R6-2a : état SANS agence = ENGAGEANT (teinte rose discrète, jamais fade).
     On reste dans la famille rose annonce sans crier : dégradé léger + bordure tiretée rose. */
#feature-panel.op-maquette .encart-neutre{border:1px dashed rgba(217,70,239,.42);border-radius:14px;background:linear-gradient(180deg,var(--op-mission-annonce-bg),var(--op-surface));padding:13px;margin-bottom:12px;}
#feature-panel.op-maquette .encart-neutre .en-kick{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--op-mission-annonce);margin-bottom:6px;}
/* pastille "À VENDRE" en mots (pas de logo/emoji) = évoque le panneau croisé sur le terrain */
#feature-panel.op-maquette .encart-neutre .en-pan{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.5px;color:var(--op-mission-annonce);border:1.5px solid rgba(217,70,239,.5);border-radius:5px;padding:2px 6px;}
#feature-panel.op-maquette .encart-neutre .en-t{font-size:14px;font-weight:800;color:var(--op-ink);line-height:1.25;}
#feature-panel.op-maquette .encart-neutre .en-s{font-size:12px;color:var(--op-ink-3);margin-top:3px;line-height:1.4;}
#feature-panel.op-maquette .encart-neutre button{margin-top:11px;min-height:48px;width:100%;border:none;background:var(--op-mission-annonce);border-radius:12px;font-weight:800;font-size:14px;color:#fff;cursor:pointer;box-shadow:0 6px 16px rgba(217,70,239,.28);font-family:var(--op-font);}
#feature-panel.op-maquette .encart-neutre button:active{filter:brightness(.93);}
#feature-panel.op-maquette .encart-neutre .en-note{font-size:11px;font-weight:600;color:var(--op-ink-3);margin-top:8px;text-align:center;line-height:1.4;}
/* ============================================================
     G18 (R7) — COLLER UNE URL → SCRAPER l'annonce concurrente (état « sans agence »)
     Annonce = rose fuchsia (CTA/aperçu) ; scan/système = encre slate ; succès = vert PRO ; échec = rouge.
     ============================================================ */
#feature-panel.op-maquette .scrape{margin-top:12px;border-top:1px dashed rgba(217,70,239,.30);padding-top:12px;}
#feature-panel.op-maquette .scrape .sc-lbl{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--op-ink-3);margin-bottom:6px;display:flex;align-items:center;gap:7px;}
#feature-panel.op-maquette .scrape .sc-lbl .sc-i{margin-left:auto;width:26px;height:26px;border-radius:999px;border:1px solid var(--op-line);background:#fff;color:var(--op-mission-annonce);font-style:italic;font-family:Georgia,serif;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;}
#feature-panel.op-maquette .scrape .sc-row{display:flex;gap:8px;}
#feature-panel.op-maquette .scrape .sc-url{flex:1;min-height:46px;border:1.5px solid var(--op-line);border-radius:11px;padding:0 12px;font-size:15px;font-family:var(--op-font);color:var(--op-ink);background:#fff;outline:none;}
#feature-panel.op-maquette .scrape .sc-url:focus{border-color:var(--op-mission-annonce);box-shadow:0 0 0 3px rgba(217,70,239,.14);}
#feature-panel.op-maquette .scrape .sc-url.invalid{border-color:var(--op-mission-rue);box-shadow:0 0 0 3px rgba(239,68,68,.12);}
#feature-panel.op-maquette .scrape .sc-paste{min-width:46px;min-height:46px;border:1.5px solid var(--op-line);border-radius:11px;background:#fff;font-size:13px;font-weight:800;color:var(--op-ink-2);cursor:pointer;}
#feature-panel.op-maquette .scrape .sc-hint{display:none;align-items:center;gap:7px;margin-top:8px;font-size:12px;font-weight:700;}
#feature-panel.op-maquette .scrape .sc-hint.show{display:flex;}
#feature-panel.op-maquette .scrape .sc-hint.known{color:var(--op-mission-pro);}
#feature-panel.op-maquette .scrape .sc-hint.unknown{color:#92400e;}
#feature-panel.op-maquette .scrape .sc-hint.bad{color:var(--op-mission-rue);}
#feature-panel.op-maquette .scrape .sc-hint .pill{font-weight:800;background:var(--op-bg);border:1px solid var(--op-line);border-radius:999px;padding:2px 8px;color:var(--op-ink-2);}
#feature-panel.op-maquette .scrape .sc-go{margin-top:12px;width:100%;min-height:48px;border:0;border-radius:12px;background:var(--op-mission-annonce);color:#fff;font-size:14.5px;font-weight:800;font-family:var(--op-font);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;}
#feature-panel.op-maquette .scrape .sc-go:active{filter:brightness(.93);}
#feature-panel.op-maquette .scrape .sc-go[disabled]{opacity:.45;cursor:not-allowed;}
#feature-panel.op-maquette .scrape .sc-go .sc-spin{width:17px;height:17px;border-radius:50%;border:2.5px solid rgba(255,255,255,.45);border-top-color:#fff;animation:scSpin .7s linear infinite;display:none;}
#feature-panel.op-maquette .scrape .sc-go.loading .sc-spin{display:inline-block;}
@keyframes scSpin{to{transform:rotate(360deg);}}
/* blocs d'état */
#feature-panel.op-maquette .sc-state{margin-top:12px;display:none;border-radius:12px;padding:12px 13px;font-size:13px;line-height:1.45;}
#feature-panel.op-maquette .sc-state.show{display:block;}
#feature-panel.op-maquette .sc-state .sc-srow{display:flex;align-items:center;gap:10px;}
#feature-panel.op-maquette .sc-state .sc-ico{width:26px;height:26px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:900;}
#feature-panel.op-maquette .sc-state .sc-txt{font-weight:800;}
#feature-panel.op-maquette .sc-state .sc-sub{margin-top:3px;font-size:12px;font-weight:600;color:var(--op-ink-2);}
/* scan = encre (jamais une couleur métier volée) */
#feature-panel.op-maquette .sc-state.scanning{background:var(--op-bg);border:1px solid var(--op-line);}
#feature-panel.op-maquette .sc-state.scanning .sc-ico{background:transparent;border:2.5px solid var(--op-line);border-top-color:var(--op-ink);animation:scSpin .7s linear infinite;}
#feature-panel.op-maquette .sc-state.scanning .sc-txt{color:var(--op-ink);}
#feature-panel.op-maquette .sc-steps{margin-top:9px;display:flex;gap:5px;}
#feature-panel.op-maquette .sc-steps span{flex:1;height:4px;border-radius:999px;background:var(--op-line);overflow:hidden;position:relative;}
#feature-panel.op-maquette .sc-steps span.on::after{content:"";position:absolute;inset:0;background:var(--op-ink);animation:scFill 1.1s ease forwards;}
@keyframes scFill{from{transform:translateX(-100%);}to{transform:translateX(0);}}
/* succès */
#feature-panel.op-maquette .sc-state.ok{background:#ecfdf5;border:1px solid rgba(21,128,61,.26);}
#feature-panel.op-maquette .sc-state.ok .sc-ico{background:var(--op-mission-pro);color:#fff;}
#feature-panel.op-maquette .sc-state.ok .sc-txt{color:var(--op-mission-pro);}
#feature-panel.op-maquette .sc-state.ok .sc-seefiche{margin-top:11px;width:100%;min-height:44px;border:0;border-radius:11px;background:var(--op-mission-pro);color:#fff;font-weight:800;font-size:14px;cursor:pointer;font-family:var(--op-font);}
/* déjà connu = neutre (pas un doublon, on rattache) */
#feature-panel.op-maquette .sc-state.known{background:var(--op-bg);border:1px solid var(--op-line);}
#feature-panel.op-maquette .sc-state.known .sc-ico{background:var(--op-ink);color:#fff;}
#feature-panel.op-maquette .sc-state.known .sc-txt{color:var(--op-ink);}
/* échec */
#feature-panel.op-maquette .sc-state.fail{background:#fef2f2;border:1px solid rgba(239,68,68,.26);}
#feature-panel.op-maquette .sc-state.fail .sc-ico{background:var(--op-mission-rue);color:#fff;}
#feature-panel.op-maquette .sc-state.fail .sc-txt{color:var(--op-mission-rue);}
#feature-panel.op-maquette .sc-state.fail .sc-acts{margin-top:11px;display:flex;gap:8px;}
#feature-panel.op-maquette .sc-state.fail .sc-acts button{flex:1;min-height:44px;border-radius:11px;font-weight:800;font-size:13px;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .sc-state.fail .sc-manual{border:0;background:var(--op-ink);color:#fff;}
#feature-panel.op-maquette .sc-state.fail .sc-retry{border:1.5px solid var(--op-line);background:#fff;color:var(--op-ink-2);}
/* aperçu données récupérées */
#feature-panel.op-maquette .sc-preview{margin-top:10px;display:none;background:#fff;border:1px solid var(--op-line);border-radius:12px;padding:12px 13px;}
#feature-panel.op-maquette .sc-preview.show{display:block;}
#feature-panel.op-maquette .sc-preview .sc-conf{display:flex;align-items:center;gap:7px;font-size:10.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--op-ink-3);margin-bottom:9px;}
#feature-panel.op-maquette .sc-preview .sc-conf .sc-bar{flex:1;height:5px;border-radius:999px;background:var(--op-bg);overflow:hidden;}
#feature-panel.op-maquette .sc-preview .sc-conf .sc-bar i{display:block;height:100%;border-radius:999px;background:var(--op-mission-pro);}
#feature-panel.op-maquette .sc-preview .sc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;}
#feature-panel.op-maquette .sc-preview .sc-k{font-size:10.5px;color:var(--op-ink-3);text-transform:uppercase;letter-spacing:.5px;}
#feature-panel.op-maquette .sc-preview .sc-v{font-size:14px;font-weight:800;color:var(--op-ink);margin-top:1px;}
/* ===== ENCART v2 : ⓘ titre + accordéon + dédup intelligente ===== */
#feature-panel.op-maquette .encart-neutre .en-head{display:flex;align-items:flex-start;gap:8px;}
#feature-panel.op-maquette .encart-neutre .en-head .en-htxt{flex:1;min-width:0;}
#feature-panel.op-maquette .encart-neutre .en-i{flex:none;width:28px;height:28px;border-radius:999px;border:1px solid var(--op-line);background:#fff;color:var(--op-mission-annonce);font-style:italic;font-family:Georgia,serif;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-top:1px;}
/* accordéon */
#feature-panel.op-maquette .sc-acc{margin-top:12px;border:1.5px solid var(--op-line);border-radius:12px;background:#fff;overflow:hidden;}
#feature-panel.op-maquette .sc-acc-head{display:flex;align-items:center;gap:9px;width:100%;min-height:48px;padding:0 13px;border:0;background:#fff;cursor:pointer;font-family:var(--op-font);text-align:left;}
#feature-panel.op-maquette .sc-acc-head .sc-acc-ic{flex:none;width:24px;height:24px;border-radius:7px;background:var(--op-mission-annonce);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;}
#feature-panel.op-maquette .sc-acc-head .sc-acc-t{flex:1;font-size:13.5px;font-weight:800;color:var(--op-ink);}
#feature-panel.op-maquette .sc-acc-head .sc-acc-chev{flex:none;color:var(--op-ink-3);font-size:13px;transition:transform .2s ease;}
#feature-panel.op-maquette .sc-acc.open .sc-acc-head .sc-acc-chev{transform:rotate(180deg);}
#feature-panel.op-maquette .sc-acc-body{display:none;padding:0 13px 13px;}
#feature-panel.op-maquette .sc-acc.open .sc-acc-body{display:block;}
/* pré-contrôle exploitabilité (cas d) */
#feature-panel.op-maquette .sc-check{margin-top:12px;display:none;border-radius:12px;padding:12px 13px;background:var(--op-bg);border:1px solid var(--op-line);}
#feature-panel.op-maquette .sc-check.show{display:block;}
#feature-panel.op-maquette .sc-check .sc-srow{display:flex;align-items:center;gap:10px;}
#feature-panel.op-maquette .sc-check .sc-spin2{width:24px;height:24px;border-radius:50%;flex:none;border:2.5px solid var(--op-line);border-top-color:var(--op-ink);animation:scSpin .7s linear infinite;}
#feature-panel.op-maquette .sc-check .sc-txt{font-weight:800;color:var(--op-ink);font-size:13px;}
/* proposition d'ajout de site (cas d, après contrôle) */
#feature-panel.op-maquette .sc-addsite{margin-top:12px;display:none;border-radius:12px;padding:12px 13px;background:#ecfdf5;border:1px solid rgba(21,128,61,.26);}
#feature-panel.op-maquette .sc-addsite.show{display:block;}
#feature-panel.op-maquette .sc-addsite .sc-txt{font-weight:800;color:var(--op-mission-pro);font-size:13px;}
#feature-panel.op-maquette .sc-addsite .sc-sub{margin-top:3px;font-size:12px;font-weight:600;color:var(--op-ink-2);}
#feature-panel.op-maquette .sc-addsite .sc-acts{margin-top:11px;display:flex;gap:8px;}
#feature-panel.op-maquette .sc-addsite .sc-acts button{flex:1;min-height:44px;border-radius:11px;font-weight:800;font-size:13px;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .sc-addsite .sc-yes{border:0;background:var(--op-mission-pro);color:#fff;}
#feature-panel.op-maquette .sc-addsite .sc-no{border:1.5px solid var(--op-line);background:#fff;color:var(--op-ink-2);}
/* dédup : déjà connue ICI (cas a) — neutre */
#feature-panel.op-maquette .sc-state.known .sc-sub2{margin-top:3px;font-size:12px;font-weight:600;color:var(--op-ink-2);}
/* dédup : rattrapage (cas b mauvais bien = amber / cas c jamais localisée = neutre) */
#feature-panel.op-maquette .sc-relink{margin-top:12px;display:none;border-radius:12px;padding:12px 13px;}
#feature-panel.op-maquette .sc-relink.show{display:block;}
#feature-panel.op-maquette .sc-relink.wrong{background:#fffbeb;border:1px solid rgba(146,64,14,.28);}
#feature-panel.op-maquette .sc-relink.noloc{background:var(--op-bg);border:1px solid var(--op-line);}
#feature-panel.op-maquette .sc-relink .sc-srow{display:flex;align-items:flex-start;gap:10px;}
#feature-panel.op-maquette .sc-relink .sc-ico{width:26px;height:26px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:900;color:#fff;}
#feature-panel.op-maquette .sc-relink.wrong .sc-ico{background:#92400e;}
#feature-panel.op-maquette .sc-relink.noloc .sc-ico{background:var(--op-ink);}
#feature-panel.op-maquette .sc-relink .sc-txt{font-weight:800;font-size:13px;color:var(--op-ink);}
#feature-panel.op-maquette .sc-relink .sc-sub{margin-top:3px;font-size:12px;font-weight:600;color:var(--op-ink-2);line-height:1.4;}
#feature-panel.op-maquette .sc-relink .sc-where{font-weight:800;color:var(--op-ink);}
#feature-panel.op-maquette .sc-relink .sc-acts{margin-top:11px;display:flex;flex-direction:column;gap:7px;}
#feature-panel.op-maquette .sc-relink .sc-relink-go{min-height:46px;border:0;border-radius:11px;background:var(--op-mission-pro);color:#fff;font-weight:800;font-size:13.5px;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .sc-relink .sc-relink-keep{min-height:44px;border:0;background:transparent;color:var(--op-ink-3);font-weight:700;font-size:12.5px;cursor:pointer;font-family:var(--op-font);text-decoration:underline;}
/* indicateur passage DÉDUIT (s'allume, aucun champ) */
#feature-panel.op-maquette .passage-ind{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:13px;margin-bottom:12px;border:1px solid var(--op-line);background:var(--op-surface);}
#feature-panel.op-maquette .passage-ind .pi-dot{width:11px;height:11px;border-radius:999px;background:var(--op-ink-faint);flex:none;}
#feature-panel.op-maquette .passage-ind .pi-t{flex:1;font-size:12.5px;font-weight:700;color:var(--op-ink-3);line-height:1.35;}
#feature-panel.op-maquette .passage-ind .pi-t b{color:var(--op-ink);}
/* R2 touch : zone cliquable 44px, glyphe visuel 26px */
#feature-panel.op-maquette .passage-ind .pi-i{width:44px;height:44px;min-width:44px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--op-ink-3);cursor:pointer;flex:none;}
#feature-panel.op-maquette .passage-ind .pi-i::before{content:"i";width:26px;height:26px;border-radius:999px;border:1px solid var(--op-line);display:flex;align-items:center;justify-content:center;font-style:italic;font-family:Georgia,serif;font-weight:700;}
#feature-panel.op-maquette .passage-ind[data-on="1"]{border-color:rgba(5,150,105,.35);background:#ecfdf5;}
#feature-panel.op-maquette .passage-ind[data-on="1"] .pi-dot{background:var(--op-mission-emeraude);box-shadow:0 0 0 4px rgba(5,150,105,.18);}
#feature-panel.op-maquette .passage-ind[data-on="1"] .pi-t{color:var(--op-ink);}
#feature-panel.op-maquette .passage-ind[data-on="1"] .pi-i{color:var(--op-mission-pro);}
#feature-panel.op-maquette .passage-ind[data-on="1"] .pi-i::before{border-color:rgba(5,150,105,.35);}
/* onglet "Le bien" = grille d'ICÔNES style annonce ; champ absent ne casse rien */
#feature-panel.op-maquette .biengrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px;}
#feature-panel.op-maquette .bgi{background:var(--op-surface);border:1px solid var(--op-line);border-radius:13px;padding:11px 9px;text-align:center;min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;}
#feature-panel.op-maquette .bgi .bgi-ico{font-size:19px;line-height:1;}
/* [FICHELOT 2026-06-22 — BUG7] valeur picto : ne JAMAIS élargir la cellule.
   max-width:100% + nowrap + ellipsis -> grille parfaitement régulière même si la
   valeur est longue (les libellés longs sont abrégés côté JS, ex « appartement »→« appart »). */
#feature-panel.op-maquette .bgi .bgi-v{font-size:14px;font-weight:800;color:var(--op-ink);letter-spacing:-.2px;line-height:1.1;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#feature-panel.op-maquette .bgi .bgi-k{font-size:10px;font-weight:700;color:var(--op-ink-3);text-transform:uppercase;letter-spacing:.3px;}
#feature-panel.op-maquette .bgi.empty{opacity:.6;border-style:dashed;}
#feature-panel.op-maquette .bgi.empty .bgi-v{color:var(--op-ink-faint);}
#feature-panel.op-maquette .bgi .dpe{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;font-weight:800;color:#fff;font-size:13px;}
/* E12 : chaque picto est cliquable → panneau des sources */
#feature-panel.op-maquette .bgi{position:relative;cursor:pointer;}
#feature-panel.op-maquette .bgi:active{transform:scale(.97);}
/* pastille de SOURCE de la valeur affichée (D=DPE, A=annonce, N=notaire/DVF, ✎=agent) */
#feature-panel.op-maquette .bgi .bgi-src{position:absolute;top:6px;right:6px;font-size:9px;font-weight:900;color:#fff;border-radius:4px;padding:1px 4px;line-height:1.2;}
#feature-panel.op-maquette .src-dpe{background:#2563eb;}
#feature-panel.op-maquette .src-annonce{background:var(--op-mission-annonce);}
#feature-panel.op-maquette .src-dvf{background:#0891b2;}
#feature-panel.op-maquette .src-agent{background:var(--op-mission-pro);}
/* badge "plusieurs valeurs / écart" en haut-gauche */
#feature-panel.op-maquette .bgi .bgi-multi{position:absolute;top:-6px;left:-6px;min-width:18px;height:18px;border-radius:999px;background:var(--op-mission-relance);color:#fff;font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid #fff;padding:0 3px;}
/* FD3 : en-tête « Le bien » + ⓘ multi-sources */
#feature-panel.op-maquette .bien-head{display:flex;align-items:center;gap:8px;margin:2px 0 10px;}
#feature-panel.op-maquette .bien-head .bh-t{font-size:13px;font-weight:800;color:var(--op-ink-2);text-transform:uppercase;letter-spacing:.4px;}
#feature-panel.op-maquette .bien-head .bh-i{margin-left:auto;width:24px;height:24px;font-size:13px;}
/* pastille CADASTRE (source géo) — gris ardoise neutre, hors flux données */
#feature-panel.op-maquette .src-cadastre{background:#64748b;}
/* FD3 : légende des sources dans la feuille ⓘ (réutilise .src-* canoniques) */
#feature-panel.op-maquette .ib-text .ib-p{margin:0 0 11px;line-height:1.5;}
#feature-panel.op-maquette .src-leg{display:flex;flex-direction:column;gap:9px;margin-top:4px;padding-top:13px;border-top:1px solid var(--op-line);}
#feature-panel.op-maquette .src-leg-row{display:flex;align-items:center;gap:11px;min-height:32px;}
#feature-panel.op-maquette .src-leg-dot{flex:none;width:30px;height:30px;border-radius:8px;color:#fff;font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:center;}
#feature-panel.op-maquette .src-leg-tx{display:flex;flex-direction:column;line-height:1.25;}
#feature-panel.op-maquette .src-leg-tx b{font-size:13.5px;color:var(--op-ink);}
#feature-panel.op-maquette .src-leg-tx span{font-size:11.5px;color:var(--op-ink-3);}
/* panneau provenance (E12) : lignes de sources, l'agent choisit laquelle afficher */
#feature-panel.op-maquette .prov-row{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid var(--op-line);min-height:54px;}
#feature-panel.op-maquette .prov-row:first-child{border-top:none;}
#feature-panel.op-maquette .prov-src{width:30px;height:30px;border-radius:8px;color:#fff;font-weight:900;font-size:12px;display:flex;align-items:center;justify-content:center;flex:none;}
#feature-panel.op-maquette .prov-body{flex:1;min-width:0;}
#feature-panel.op-maquette .prov-val{font-size:15px;font-weight:800;color:var(--op-ink);line-height:1.2;}
#feature-panel.op-maquette .prov-meta{font-size:11.5px;color:var(--op-ink-3);margin-top:2px;}
#feature-panel.op-maquette .prov-kept{display:inline-block;font-size:9.5px;font-weight:800;color:var(--op-mission-pro);background:#ecfdf5;border:1px solid rgba(21,128,61,.3);border-radius:5px;padding:1px 6px;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.3px;}
#feature-panel.op-maquette .prov-gap{display:inline-block;font-size:9.5px;font-weight:800;color:#fff;background:var(--op-mission-relance);border-radius:5px;padding:1px 6px;margin-left:6px;}
#feature-panel.op-maquette .prov-pick{flex:none;min-height:40px;padding:0 14px;border-radius:10px;border:1.5px solid var(--op-ink);background:var(--op-ink);color:#fff;font-weight:800;font-size:12.5px;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .prov-row.is-kept .prov-pick{display:none;}
#feature-panel.op-maquette .prov-empty{font-size:13px;color:var(--op-ink-3);line-height:1.5;padding:10px 16px 0;}
#feature-panel.op-maquette .prov-mod{margin:16px 16px 0;min-height:48px;width:calc(100% - 32px);border:1.5px solid var(--op-line);background:var(--op-surface);color:var(--op-ink-2);border-radius:12px;font-weight:800;font-size:13.5px;cursor:pointer;font-family:var(--op-font);}
/* sections repliables (consultation) */
#feature-panel.op-maquette .sec{margin-bottom:10px;}
#feature-panel.op-maquette .sec-card{background:var(--op-surface);border:1px solid var(--op-line);border-radius:var(--op-r-card-2);overflow:hidden;}
#feature-panel.op-maquette .sec-head{display:flex;align-items:center;gap:10px;padding:12px 13px;cursor:pointer;min-height:52px;}
#feature-panel.op-maquette .sec-head .s-ico{width:32px;height:32px;border-radius:9px;background:var(--op-bg);display:flex;align-items:center;justify-content:center;font-size:15px;flex:none;}
#feature-panel.op-maquette .sec-head .s-t{flex:1;font-size:13.5px;font-weight:800;color:var(--op-ink);letter-spacing:-.1px;}
#feature-panel.op-maquette .sec-head .s-count{font-size:11px;font-weight:800;color:var(--op-ink-3);background:var(--op-bg);border-radius:999px;padding:3px 9px;min-width:24px;text-align:center;}
#feature-panel.op-maquette .sec-head .s-count.has{color:#fff;background:var(--op-ink-2);}
#feature-panel.op-maquette .sec-head .s-chev{color:var(--op-ink-faint);font-size:14px;transition:transform .2s;}
#feature-panel.op-maquette .sec-card[data-open="1"] .s-chev{transform:rotate(90deg);}
#feature-panel.op-maquette .sec-body{padding:0 13px 14px;display:none;}
#feature-panel.op-maquette .sec-card[data-open="1"] .sec-body{display:block;}
#feature-panel.op-maquette .sec-body .row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;border-top:1px solid var(--op-line);}
#feature-panel.op-maquette .sec-body .row:first-child{border-top:none;}
#feature-panel.op-maquette .sec-body .row .k{color:var(--op-ink-3);font-weight:600;}
#feature-panel.op-maquette .sec-body .row .val{color:var(--op-ink);font-weight:700;text-align:right;}
#feature-panel.op-maquette .empty{font-size:12.5px;color:var(--op-ink-faint);font-weight:600;padding:8px 0 2px;}
#feature-panel.op-maquette .dpe{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;font-weight:800;color:#fff;font-size:12px;}
/* historique flyer = consultation pure (readonly) ; type en VRAI violet gras (R2-8) */
#feature-panel.op-maquette .ro-list .ro-item{display:flex;gap:9px;align-items:center;font-size:12.5px;padding:8px 0;color:var(--op-ink-2);border-top:1px solid var(--op-line);}
#feature-panel.op-maquette .ro-list .ro-item:first-child{border-top:none;}
#feature-panel.op-maquette .ro-list .ro-d{color:var(--op-ink-3);font-weight:800;min-width:74px;}
#feature-panel.op-maquette .ro-list .ro-type{font-weight:800;color:var(--op-mission-boitage);}
#feature-panel.op-maquette .ro-list .ro-tag{margin-left:auto;font-size:10px;font-weight:800;color:var(--op-ink-faint);text-transform:uppercase;}
/* ===== JOURNAL DE DISTRIBUTION FLYER (R2-1 : lecture seule, cartes empilées) ===== */
#feature-panel.op-maquette .fly-jrnl{display:flex;flex-direction:column;gap:9px;padding-top:2px;}
#feature-panel.op-maquette .fly-jrnl-hd{font-size:11px;font-weight:800;color:var(--op-ink-faint);text-transform:uppercase;letter-spacing:.02em;padding:2px 0 4px;}
#feature-panel.op-maquette .fly-jrnl-hd b{color:#15803d;}
#feature-panel.op-maquette .fly-card{background:var(--op-surface-2);border:1px solid var(--op-line);border-left:3px solid var(--op-mission-boitage);border-radius:11px;padding:10px 12px;}
#feature-panel.op-maquette .fly-top{display:flex;align-items:center;gap:10px;}
#feature-panel.op-maquette .fly-date{font-size:13px;font-weight:800;color:var(--op-ink);min-width:62px;}
#feature-panel.op-maquette .fly-type{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:var(--op-mission-boitage);}
#feature-panel.op-maquette .fly-type::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--op-mission-boitage);flex:0 0 auto;}
#feature-panel.op-maquette .fly-agent{font-size:12px;font-weight:700;color:var(--op-ink-2);margin-top:3px;}
#feature-panel.op-maquette .fly-scan{display:flex;align-items:flex-start;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--op-line);font-size:12px;font-weight:700;color:#15803d;line-height:1.35;}
#feature-panel.op-maquette .fly-scan b{font-weight:800;}
#feature-panel.op-maquette .fly-scan-ico{flex:0 0 auto;font-weight:900;}
/* [retours3b 2026-06-22 — CHANGEMENT 3] Flyer (Prospection) = ARCHIVE seule :
   liste scrollable + retrait par entree (cible tactile >= 40px). AUCUNE
   distribution dans la fiche. */
#feature-panel.op-maquette .flyer-archive{max-height:46vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2px 16px 0;}
#feature-panel.op-maquette .flyer-empty{margin:6px 0 2px;font-size:12.5px;color:var(--op-ink-faint);font-weight:600;}
#feature-panel.op-maquette .fly-card .fly-actions{display:flex;justify-content:flex-end;margin-top:9px;}
#feature-panel.op-maquette .fly-card .fly-rm{min-height:40px;padding:0 14px;border-radius:9px;border:1px solid var(--op-line);background:var(--op-surface);color:#b91c1c;font-family:var(--op-font);font-size:12.5px;font-weight:800;cursor:pointer;-webkit-tap-highlight-color:transparent;}
#feature-panel.op-maquette .fly-card .fly-rm:active{background:#fef2f2;border-color:#b91c1c;}
/* ============================================================
     BARRE D'ACTIONS TERRAIN PERSISTANTE (R2-6 : 3 chips Flyer/Note/Y aller)
     ============================================================ */
#feature-panel.op-maquette .actionbar{position:absolute;left:0;right:0;bottom:0;z-index:50;background:var(--op-surface);box-shadow:var(--op-elev-bar);padding:9px 11px calc(9px + env(safe-area-inset-bottom));border-top:1px solid var(--op-line);}
#feature-panel.op-maquette .ab-major{display:flex;gap:9px;margin-bottom:8px;}
#feature-panel.op-maquette .ab-btn{flex:1;min-height:56px;border:none;border-radius:14px;font-family:var(--op-font);font-weight:800;font-size:14.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;letter-spacing:.1px;}
#feature-panel.op-maquette .ab-btn:active{filter:brightness(.93);}
#feature-panel.op-maquette .ab-parle{background:var(--op-mission-emeraude);}
/* J'ai discuté = émeraude */
/* [FICHELOT 2026-06-22 — BUG4] Absent = encadré/liseré ROUGE marqué (avant : gris fade). */
#feature-panel.op-maquette .ab-absent{background:var(--op-surface);border:2px solid #dc2626;color:#dc2626;}
#feature-panel.op-maquette .ab-absent .door-ico{flex:none;color:#dc2626;}
/* C10 : porte dessinée conservée sur Absent (validée Nicolas) */
#feature-panel.op-maquette .ab-chips{display:flex;gap:7px;}
#feature-panel.op-maquette .ab-chip{flex:1;min-height:54px;border-radius:12px;border:1.5px solid var(--op-line);background:var(--op-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:var(--op-ink-2);letter-spacing:.1px;}
#feature-panel.op-maquette .ab-chip:active{filter:brightness(.96);}
/* [FICHELOT 2026-06-22 — BUG4] Flyer = VRAI violet plein #7c3aed + texte blanc en
   PERMANENCE (avant : violet seulement en data-on=1, fade sinon). C'est un bouton,
   pas un état : il doit être marquant. */
#feature-panel.op-maquette .ab-chip.flyer{background:var(--op-mission-boitage);color:#fff;border-color:var(--op-mission-boitage);}
#feature-panel.op-maquette .ab-chip.flyer[data-on="1"]{background:var(--op-mission-boitage);color:#fff;border-color:var(--op-mission-boitage);}
/* [FICHELOT 2026-06-22 — BUG4] Note = liseré coloré net (ardoise, tasteful). */
#feature-panel.op-maquette .ab-chip#noteChip{border-color:var(--op-ink-2);color:var(--op-ink);}
/* [flyerbtn 2026-06-22] « Y aller » = bouton PLEIN bordeaux mission #BE123C + texte
   blanc (avant : simple liseré peu visible). Couleur navigation/mission canonique. */
#feature-panel.op-maquette .ab-chip.yaller{background:#BE123C;color:#fff;border-color:#BE123C;}
/* ============================================================ BOTTOM-SHEETS ============================================================ */
#feature-panel.op-maquette .scrim{position:absolute;inset:0;background:var(--op-scrim);z-index:60;opacity:0;pointer-events:none;transition:opacity .2s;}
#feature-panel.op-maquette .scrim[data-open="1"]{opacity:1;pointer-events:auto;}
/* ============================================================
     STREET VIEW — vignette "façade" (Prospection) + overlay quasi plein écran
     Le bandeau statut + l'adresse restent visibles en haut de l'overlay.
     ============================================================ */
/* --- vignette d'accès, en HAUT de la prospection, très visible --- */
/* --- FD1 : carte d'aperçu Street View (vignette = référence de taille FD2) --- */
:root{ --fd-thumb-ratio:16/9; }
/* référence partagée avec FD2 */
#feature-panel.op-maquette .sv-tile{display:block;width:100%;margin:0 0 12px;padding:9px;border:1px solid var(--op-line);
           border-radius:14px;background:var(--op-surface);box-shadow:var(--op-elev-1);
           cursor:pointer;font-family:var(--op-font);text-align:left;}
#feature-panel.op-maquette .sv-tile:active{filter:brightness(.985);}
/* [retours3b 2026-06-22 — CHANGEMENT 1] host de la vraie carte Street View
   fonctionnelle (window.OPStreetView.mount injecte une .svf-card avec sa propre
   hauteur 180px + iframe pano + repli satellite). On annule la marge interne de
   la carte pour qu'elle s'aligne au bord du host (ratio coherent avec le skin). */
#feature-panel.op-maquette .sv-host{display:block;width:100%;}
#feature-panel.op-maquette .sv-host .svf-card{margin:0;border-radius:10px;}
#feature-panel.op-maquette .sv-host .svf-wrap{border-radius:10px 10px 0 0;}
/* en-tête : libellé seul (PLUS d'adresse redondante) */
#feature-panel.op-maquette .sv-tile .sv-head-row{display:flex;align-items:center;gap:7px;margin:1px 2px 8px;}
#feature-panel.op-maquette .sv-tile .sv-gico{flex:none;width:18px;height:18px;line-height:1;}
/* logo/pin Google */
#feature-panel.op-maquette .sv-tile .sv-tk{flex:1;min-width:0;font-size:13.5px;font-weight:800;color:var(--op-ink);
           line-height:1.2;letter-spacing:-.2px;}
/* vignette d'aperçu : ratio 16/9, c'est la RÉFÉRENCE DE TAILLE pour FD2 */
#feature-panel.op-maquette .sv-thumb{display:block;position:relative;width:100%;aspect-ratio:16/9;min-height:170px;border-radius:10px;
           overflow:hidden;background:#e8eef5;box-shadow:inset 0 0 0 1px rgba(15,23,42,.10);}
#feature-panel.op-maquette .sv-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
/* petit Pegman orange officiel : pastille blanche ronde >=44px, bas-droite */
#feature-panel.op-maquette .sv-thumb .sv-peg{position:absolute;right:9px;bottom:9px;width:44px;height:44px;border-radius:999px;
           background:#fff;box-shadow:0 3px 10px rgba(15,23,42,.28),inset 0 0 0 1px rgba(15,23,42,.06);
           display:flex;align-items:center;justify-content:center;}
/* attribution « Google » discrète exigée par Street View Static API, bas-gauche */
#feature-panel.op-maquette .sv-thumb .sv-attr{position:absolute;left:9px;bottom:7px;font-size:10px;font-weight:700;color:#fff;
           text-shadow:0 1px 3px rgba(0,0,0,.55);letter-spacing:.2px;font-family:var(--op-font);}
/* repli : aucune image Street View dispo -> on masque photo, pegman, attribution */
#feature-panel.op-maquette .sv-thumb[data-empty="1"] img{display:none;}
#feature-panel.op-maquette .sv-thumb[data-empty="1"] .sv-peg{display:none;}
#feature-panel.op-maquette .sv-thumb[data-empty="1"] .sv-attr{display:none;}
#feature-panel.op-maquette .sv-thumb .sv-empty{display:none;position:absolute;inset:0;flex-direction:column;align-items:center;
           justify-content:center;gap:7px;color:var(--op-ink-3);text-align:center;padding:14px;}
#feature-panel.op-maquette .sv-thumb[data-empty="1"] .sv-empty{display:flex;}
#feature-panel.op-maquette .sv-thumb .sv-empty .sv-empty-ico{font-size:24px;line-height:1;opacity:.55;}
#feature-panel.op-maquette .sv-thumb .sv-empty .sv-empty-txt{font-size:12px;font-weight:700;line-height:1.3;}
/* bouton pleine largeur (≥44px) */
#feature-panel.op-maquette .sv-tile .sv-go{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;
           min-height:44px;margin-top:9px;border-radius:11px;background:var(--op-ink);color:#fff;
           font-size:13px;font-weight:800;}
#feature-panel.op-maquette .sv-tile .sv-go .sv-eye{font-size:13px;line-height:1;}
/* quand pas de vue : on neutralise l'ouverture de l'overlay */
#feature-panel.op-maquette .sv-tile[data-empty="1"] .sv-go{background:var(--op-ink-3);opacity:.55;}
/* --- overlay quasi plein écran (DANS la stage) --- */
#feature-panel.op-maquette .sv-over{position:absolute;inset:0;z-index:75;background:#0b1220;display:flex;flex-direction:column;
           transform:translateY(100%);transition:transform .28s cubic-bezier(.22,1,.36,1);
           visibility:hidden;}
#feature-panel.op-maquette .sv-over[data-open="1"]{transform:translateY(0);visibility:visible;}
#feature-panel.op-maquette .sv-over.dragging{transition:none;}
/* header collé = clone du bandeau statut + adresse (reste visible) */
#feature-panel.op-maquette .sv-head{flex:none;position:relative;color:#fff;
           padding:calc(env(safe-area-inset-top,0px) + 30px) 12px 11px;
           background:var(--op-ink);box-shadow:0 2px 10px rgba(0,0,0,.35);touch-action:none;}
#feature-panel.op-maquette .sv-head .sv-grab{position:absolute;top:8px;left:50%;transform:translateX(-50%);
           width:38px;height:4px;border-radius:999px;background:rgba(255,255,255,.5);}
#feature-panel.op-maquette .sv-head .sv-status{display:flex;align-items:center;gap:9px;}
#feature-panel.op-maquette .sv-head .sv-st-ico{font-size:17px;line-height:1;}
#feature-panel.op-maquette .sv-head .sv-st-ico:empty{display:none;}
#feature-panel.op-maquette .sv-head .sv-st-lbl{flex:1;min-width:0;font-weight:800;font-size:13.5px;letter-spacing:.2px;
           overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#feature-panel.op-maquette .sv-head .sv-st-tag{flex:none;font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;
           background:rgba(255,255,255,.22);padding:4px 9px;border-radius:999px;}
#feature-panel.op-maquette .sv-head .sv-close{flex:none;width:36px;height:36px;border-radius:999px;border:none;cursor:pointer;
           background:rgba(255,255,255,.18);color:#fff;font-size:19px;line-height:1;
           display:flex;align-items:center;justify-content:center;font-family:var(--op-font);}
#feature-panel.op-maquette .sv-head .sv-close:active{background:rgba(255,255,255,.30);}
#feature-panel.op-maquette .sv-head .sv-addr{margin-top:8px;}
#feature-panel.op-maquette .sv-head .sv-addr-num{font-size:16px;font-weight:800;letter-spacing:-.3px;line-height:1.2;
           overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#feature-panel.op-maquette .sv-head .sv-addr-sub{font-size:11.5px;opacity:.9;margin-top:2px;
           overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* couleurs du bandeau = mêmes que .ctx (suivent le statut) */
#feature-panel.op-maquette .sv-over.st-JAMAIS .sv-head{background:var(--op-mouse-grey);} /* [statutgris 2026-06-23] gris souris ≠ noir EXCLU */
#feature-panel.op-maquette .sv-over.st-EXCLU .sv-head{background:var(--op-ink);}
#feature-panel.op-maquette .sv-over.st-FLYER  .sv-head{background:var(--op-mission-boitage);}
#feature-panel.op-maquette .sv-over.st-REVOIR .sv-head{background:var(--op-mission-relance);}
#feature-panel.op-maquette .sv-over.st-VISITE .sv-head{background:var(--op-data-dvf);}
#feature-panel.op-maquette .sv-over.st-MANDAT .sv-head{background:linear-gradient(135deg,var(--op-gold-deep),var(--op-gold),var(--op-gold-edge));}
#feature-panel.op-maquette .sv-over.st-MANDAT .sv-head .sv-st-tag{background:rgba(255,255,255,.30);color:#3d2f05;}
/* zone façade (mock Street View) */
#feature-panel.op-maquette .sv-stage{flex:1;position:relative;overflow:hidden;
            background:linear-gradient(180deg,#bcd6f0 0%,#a7c8ec 40%,#86b06a 40%,#bfe09a 100%);}
#feature-panel.op-maquette .sv-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
#feature-panel.op-maquette .sv-mock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
           gap:14px;color:#0f172a;text-align:center;padding:24px;}
#feature-panel.op-maquette .sv-mock .sv-house{width:120px;height:96px;border-radius:8px 8px 4px 4px;background:#f1f5f9;
           box-shadow:0 10px 30px rgba(15,23,42,.25),inset 0 0 0 2px rgba(15,23,42,.12);position:relative;}
#feature-panel.op-maquette .sv-mock .sv-house::before{content:"";position:absolute;top:-22px;left:-8px;right:-8px;height:30px;
           background:#b45309;clip-path:polygon(0 100%,50% 0,100% 100%);border-radius:4px;}
#feature-panel.op-maquette .sv-mock .sv-house::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
           width:30px;height:44px;border-radius:3px 3px 0 0;background:#7c4a17;}
#feature-panel.op-maquette .sv-mock .sv-cap{font-size:13px;font-weight:800;color:#1e293b;}
#feature-panel.op-maquette .sv-mock .sv-cap small{display:block;font-weight:600;color:#475569;margin-top:3px;font-size:11.5px;}
/* contrôles "façade" type Street View (mock, non bloquants) */
#feature-panel.op-maquette .sv-stage .sv-pad{position:absolute;right:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 18px);
           display:flex;flex-direction:column;gap:8px;z-index:2;}
#feature-panel.op-maquette .sv-stage .sv-pad button{width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;
           background:#fff;color:#0f172a;font-size:20px;font-weight:800;box-shadow:0 4px 14px rgba(15,23,42,.28);
           display:flex;align-items:center;justify-content:center;font-family:var(--op-font);}
#feature-panel.op-maquette .sv-stage .sv-pad button:active{background:#f1f5f9;}
#feature-panel.op-maquette .sv-foot{flex:none;padding:10px 14px calc(env(safe-area-inset-bottom,0px) + 12px);
           background:#0b1220;color:#cbd5e1;font-size:11px;text-align:center;line-height:1.3;}
/* [LOT-COURRIER-FIX 2026-07-02 T1] feuille FERMEE = hors-champ ET non cliquable :
   translateY(100%) seul laissait #sheetCourrier vide intercepter le clic du bouton Note
   (position:absolute;bottom:0, hauteur reduite -> reste dans le viewport). On ajoute
   visibility:hidden + pointer-events:none a l'etat ferme, restaures sur [data-open]. */
#feature-panel.op-maquette .sheet{position:absolute;left:0;right:0;bottom:0;z-index:70;background:var(--op-surface);border-radius:var(--op-r-sheet) var(--op-r-sheet) 0 0;transform:translateY(100%);visibility:hidden;pointer-events:none;transition:transform .26s cubic-bezier(.22,1,.36,1);max-height:86%;overflow-y:auto;padding-bottom:24px;}
#feature-panel.op-maquette .sheet[data-open="1"]{transform:translateY(0);visibility:visible;pointer-events:auto;}
#feature-panel.op-maquette .sheet .grab{width:40px;height:4px;border-radius:999px;background:var(--op-line);margin:9px auto 4px;}
#feature-panel.op-maquette .sheet h3{font-size:15.5px;font-weight:800;letter-spacing:-.2px;margin:6px 16px 4px;color:var(--op-ink);}
#feature-panel.op-maquette .sheet .sh-sub{font-size:12px;color:var(--op-ink-3);margin:0 16px 12px;line-height:1.4;}
#feature-panel.op-maquette .opt{display:flex;align-items:center;gap:11px;padding:13px 16px;cursor:pointer;border-top:1px solid var(--op-line);min-height:52px;}
/* [FICHEBATCH3 2026-06-24 — FICHE-OCC SCI] séparateur discret « Immeuble / SCI » */
#feature-panel.op-maquette .occ-sep{margin:6px 0 0;padding:9px 16px 4px;border-top:1px solid var(--op-line);font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--op-ink-3);background:var(--op-surface);}
#feature-panel.op-maquette .occ-sep + .opt{border-top:none;}
#feature-panel.op-maquette .opt .od{width:11px;height:11px;border-radius:999px;flex:none;}
#feature-panel.op-maquette .opt .ot{flex:1;font-size:14px;font-weight:700;color:var(--op-ink);}
/* nav_biens : chips "Bien N" pour petite copro (<=6) dans la vue d'ensemble */
#feature-panel.op-maquette .lot-chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px;}
#feature-panel.op-maquette .lot-chips .lc{min-height:44px;padding:0 13px;border-radius:999px;border:1.5px solid var(--op-line);background:var(--op-surface);color:var(--op-ink-2);font-weight:800;font-size:12.5px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-family:var(--op-font);}
#feature-panel.op-maquette .lot-chips .lc:active{background:var(--op-surface-2);}
#feature-panel.op-maquette .lot-chips .lc .lc-dot{width:9px;height:9px;border-radius:999px;flex:none;}
/* nav_biens : barre de recherche/filtre du selecteur (apparait si beaucoup de lots) */
#feature-panel.op-maquette .lotpick-tools{display:none;flex-direction:column;gap:9px;margin:2px 0 6px;}
#feature-panel.op-maquette .lotpick-tools.show{display:flex;}
#feature-panel.op-maquette .lotpick-tools .lpt-search{width:100%;min-height:44px;border:1.5px solid var(--op-line);border-radius:11px;padding:0 13px;font-size:14px;font-family:var(--op-font);color:var(--op-ink);background:var(--op-surface);}
#feature-panel.op-maquette .lotpick-tools .lpt-search:focus{outline:none;border-color:#2563eb;}
#feature-panel.op-maquette .lotpick-tools .lpt-filters{
    display:flex;flex-wrap:wrap;gap:6px;                 /* wrap en priorite : aucun chip coupe */
    overflow-x:auto;-webkit-overflow-scrolling:touch;   /* repli scroll horizontal si une ligne ne tient pas */
    padding:0 2px 4px 0;                                 /* respiration de fin pour ne pas couper le dernier chip */
    scrollbar-width:none;
  }
#feature-panel.op-maquette .lotpick-tools .lpt-filters::-webkit-scrollbar{height:0;width:0;}
#feature-panel.op-maquette .lotpick-tools .lpf{flex:0 0 auto;min-height:34px;padding:0 11px;border-radius:999px;border:1.5px solid var(--op-line);background:var(--op-surface);color:var(--op-ink-3);font-weight:800;font-size:11.5px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:var(--op-font);white-space:nowrap;}
#feature-panel.op-maquette .lotpick-tools .lpf[data-on="1"]{border-color:#2563eb;background:#eff6ff;color:#1e40af;}
#feature-panel.op-maquette .lotpick-tools .lpf .lpf-dot{width:8px;height:8px;border-radius:999px;flex:none;}
/* nav_biens : liste scrollable + entete de groupe d'etage ; reste leger meme a 400 lots */
#feature-panel.op-maquette #lotPickBody{max-height:min(56vh,460px);overflow-y:auto;-webkit-overflow-scrolling:touch;}
#feature-panel.op-maquette #lotPickBody .lp-floor{position:sticky;top:0;background:var(--op-surface-2);color:var(--op-ink-3);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding:7px 16px;border-top:1px solid var(--op-line);z-index:1;}
#feature-panel.op-maquette #lotPickBody .lp-empty{padding:24px 16px;text-align:center;color:var(--op-ink-3);font-size:13px;font-weight:600;}
#feature-panel.op-maquette .opt .ot .ot-s{display:block;font-size:11px;font-weight:600;color:var(--op-ink-3);margin-top:1px;}
#feature-panel.op-maquette .opt .ock{color:var(--op-mission-emeraude);font-weight:800;font-size:16px;visibility:hidden;}
#feature-panel.op-maquette .opt[data-sel="1"] .ock{visibility:visible;}
#feature-panel.op-maquette .jdq-form{padding:4px 16px 0;}
#feature-panel.op-maquette .jdq-form .lbl{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--op-ink-3);margin:14px 0 7px;}
#feature-panel.op-maquette .chips{display:flex;gap:7px;flex-wrap:wrap;}
#feature-panel.op-maquette .chip{min-height:44px;display:inline-flex;align-items:center;padding:9px 15px;border-radius:999px;border:1.5px solid var(--op-line);background:var(--op-surface);font-weight:700;font-size:13px;color:var(--op-ink-2);cursor:pointer;}
#feature-panel.op-maquette .chip[data-sel="1"]{border-color:var(--op-mission-emeraude);background:#ecfdf5;color:var(--op-mission-pro);}
#feature-panel.op-maquette .jdq-form input,
#feature-panel.op-maquette .jdq-form textarea{width:100%;border:1.5px solid var(--op-line);border-radius:12px;padding:12px 14px;font-size:16px;font-family:var(--op-font);color:var(--op-ink);margin-top:7px;}
#feature-panel.op-maquette .jdq-form input{min-height:48px;padding:0 14px;}
#feature-panel.op-maquette .jdq-form textarea{min-height:80px;resize:vertical;line-height:1.45;}
#feature-panel.op-maquette .jdq-form input:focus,
#feature-panel.op-maquette .jdq-form textarea:focus{outline:none;border-color:var(--op-mission-emeraude);box-shadow:0 0 0 3px rgba(5,150,105,.18);}
#feature-panel.op-maquette .jdq-hidden{display:none;}
/* R2-5 : raccourcis (renseigner coordonnées / ajouter note) dans "J'ai discuté" */
#feature-panel.op-maquette .jdq-links{display:flex;flex-direction:column;gap:8px;margin:14px 16px 0;}
#feature-panel.op-maquette .jdq-link{min-height:48px;border:1.5px solid var(--op-line);background:var(--op-surface);border-radius:12px;font-weight:700;font-size:13.5px;color:var(--op-ink);cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0 15px;font-family:var(--op-font);}
#feature-panel.op-maquette .jdq-link .jl-chev{color:var(--op-ink-faint);}
/* R2-6 : "J'ai laissé une carte" = case dans la discussion */
#feature-panel.op-maquette .jdq-check{display:flex;align-items:center;gap:11px;margin:14px 16px 0;min-height:50px;border:1.5px solid var(--op-line);border-radius:12px;padding:0 15px;cursor:pointer;font-weight:700;font-size:13.5px;color:var(--op-ink);}
#feature-panel.op-maquette .jdq-check .jc-box{width:24px;height:24px;border-radius:7px;border:2px solid var(--op-ink-faint);flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:900;}
#feature-panel.op-maquette .jdq-check[data-on="1"]{border-color:var(--op-mission-emeraude);background:#ecfdf5;}
#feature-panel.op-maquette .jdq-check[data-on="1"] .jc-box{background:var(--op-mission-emeraude);border-color:var(--op-mission-emeraude);}
#feature-panel.op-maquette .sheet-save{margin:18px 16px 0;min-height:52px;width:calc(100% - 32px);border:none;border-radius:14px;background:var(--op-mission-emeraude);color:#fff;font-weight:800;font-size:15px;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .sheet-save:active{filter:brightness(.93);}
#feature-panel.op-maquette .sheet-save.boitage{background:var(--op-mission-boitage);}
/* M09 : coherence couleur bandeau <-> bouton de validation de date.
   Bouton VISITE = cyan (= bandeau cyan #06b6d4) ; bouton MANDAT = or
   (= bandeau or #b8860b). Le defaut .sheet-save est emeraude ; on override par id
   au cas ou ces sheets sont rendues dans le skin (sinon inerte, zero regression). */
#feature-panel.op-maquette #visSave{background:var(--op-data-dvf)!important;}
#feature-panel.op-maquette #manSave{background:var(--op-gold)!important;}
/* VRAI violet plein */
/* ===== FD5 : assistant "plusieurs logements" ===== */
#feature-panel.op-maquette .sheet.wz{max-height:92%;display:flex;flex-direction:column;padding-bottom:0;}
#feature-panel.op-maquette .wz-top{display:flex;align-items:center;gap:10px;padding:2px 12px 6px;}
#feature-panel.op-maquette .wz-top .wz-back,
#feature-panel.op-maquette .wz-top .wz-close{min-width:44px;min-height:44px;border:none;background:transparent;
    font-size:22px;font-weight:800;color:var(--op-ink-3);cursor:pointer;border-radius:12px;}
#feature-panel.op-maquette .wz-top .wz-back:active,
#feature-panel.op-maquette .wz-top .wz-close:active{background:var(--op-line);}
#feature-panel.op-maquette .wz-back[hidden]{visibility:hidden;}
#feature-panel.op-maquette .wz-dots{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;}
#feature-panel.op-maquette .wz-dots .wd{width:8px;height:8px;border-radius:999px;background:var(--op-line);transition:all .2s;}
#feature-panel.op-maquette .wz-dots .wd[data-on="1"]{background:#2563eb;width:22px;}
#feature-panel.op-maquette .wz-dots .wd[data-done="1"]{background:#93c5fd;}
/* fenêtre tuto */
#feature-panel.op-maquette .wz-coach{display:flex;align-items:flex-start;gap:10px;margin:2px 14px 8px;padding:12px 13px;
    background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:14px;animation:wzIn .26s ease;}
#feature-panel.op-maquette .wz-coach[hidden]{display:none;}
#feature-panel.op-maquette .wz-coach-ico{font-size:18px;line-height:1.2;flex:none;}
#feature-panel.op-maquette .wz-coach-txt{font-size:13px;line-height:1.45;color:#1e3a8a;font-weight:600;flex:1;}
#feature-panel.op-maquette .wz-coach-x{flex:none;min-width:32px;min-height:32px;border:none;background:transparent;color:#1e40af;
    font-size:15px;cursor:pointer;border-radius:8px;}
#feature-panel.op-maquette .wz-coach-pin{position:absolute;right:14px;top:54px;z-index:2;min-width:44px;min-height:44px;border-radius:999px;
    border:1.5px solid #bfdbfe;background:#eff6ff;color:#1e40af;font-size:16px;font-weight:800;cursor:pointer;}
@keyframes wzIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* corps scrollable (min-height:0 = scroll OK en flex-column) */
#feature-panel.op-maquette .wz-body{flex:1;overflow-y:auto;padding:2px 16px 8px;min-height:0;}
#feature-panel.op-maquette .wz-h{font-size:19px;font-weight:800;color:var(--op-ink);margin:6px 0 4px;line-height:1.25;}
#feature-panel.op-maquette .wz-sub{font-size:12.5px;color:var(--op-ink-3);margin:0 0 12px;line-height:1.4;}
/* pied collant */
#feature-panel.op-maquette .wz-foot{flex:none;padding:10px 16px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--op-line);
    background:var(--op-surface);display:flex;flex-direction:column;gap:8px;}
#feature-panel.op-maquette .wz-cta{min-height:52px;width:100%;border:none;border-radius:14px;background:#2563eb;color:#fff;
    font-weight:800;font-size:15px;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .wz-cta:active{filter:brightness(.93);}
#feature-panel.op-maquette .wz-ghost{min-height:46px;width:100%;border:1.5px solid var(--op-line);border-radius:12px;background:var(--op-surface);
    color:var(--op-ink-3);font-weight:800;font-size:13.5px;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .wz-skip{background:transparent;border:none;color:var(--op-ink-faint);font-weight:700;font-size:12.5px;
    min-height:44px;cursor:pointer;text-decoration:underline;font-family:var(--op-font);}
/* boucle logement : en-tête + mini-récap points */
#feature-panel.op-maquette .wz-lot-h{display:flex;align-items:center;gap:10px;margin:2px 0 10px;flex-wrap:wrap;}
#feature-panel.op-maquette .wz-lot-n{font-size:13px;font-weight:800;color:#1e40af;background:#eff6ff;border:1.5px solid #bfdbfe;
    border-radius:999px;padding:5px 12px;}
#feature-panel.op-maquette .wz-mini{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto;}
#feature-panel.op-maquette .wz-mini .wm{min-width:30px;min-height:30px;border-radius:8px;border:1.5px solid var(--op-line);background:var(--op-surface);
    font-size:11px;font-weight:800;color:var(--op-ink-3);display:flex;align-items:center;justify-content:center;cursor:pointer;}
#feature-panel.op-maquette .wz-mini .wm[data-fill="1"]{background:#2563eb;border-color:#2563eb;color:#fff;}
#feature-panel.op-maquette .wz-mini .wm[data-cur="1"]{outline:2px solid #93c5fd;outline-offset:1px;}
/* étage rapide + stepper inline pour > 4 */
#feature-panel.op-maquette .wz-floor{display:flex;gap:7px;flex-wrap:wrap;align-items:center;}
#feature-panel.op-maquette .wz-floor .wf{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;
    padding:0 10px;border-radius:11px;border:1.5px solid var(--op-line);background:var(--op-surface);
    font-weight:800;font-size:13px;color:var(--op-ink);cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .wz-floor .wf[data-sel="1"]{border-color:#2563eb;background:#eff6ff;color:#1e40af;}
#feature-panel.op-maquette .wz-floor .wf-step{display:none;align-items:center;gap:8px;}
#feature-panel.op-maquette .wz-floor .wf-step[data-show="1"]{display:inline-flex;}
#feature-panel.op-maquette .wz-floor .wf-step button{min-width:40px;min-height:40px;border-radius:10px;border:1.5px solid var(--op-line);
    background:var(--op-surface);font-size:18px;font-weight:800;cursor:pointer;}
#feature-panel.op-maquette .wz-floor .wf-step span{min-width:34px;text-align:center;font-weight:800;font-size:13px;color:#1e40af;}
/* badge auto-remplissage (2 états) */
#feature-panel.op-maquette .wz-pref{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;letter-spacing:.2px;
    text-transform:uppercase;color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:2px 8px;margin-left:6px;}
#feature-panel.op-maquette .wz-pref .wp-dot{width:7px;height:7px;border-radius:999px;background:#2563eb;}
#feature-panel.op-maquette .wz-pref[data-edited="1"]{color:#92400e;background:#fffbeb;border-color:#fde68a;}
#feature-panel.op-maquette .wz-pref[data-edited="1"] .wp-dot{background:#d97706;}
/* récap final */
#feature-panel.op-maquette .wz-rec{border:1px solid var(--op-line);border-radius:12px;overflow:hidden;}
#feature-panel.op-maquette .wz-rec .wr{display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--op-line);
    cursor:pointer;min-height:52px;}
#feature-panel.op-maquette .wz-rec .wr:first-child{border-top:none;}
#feature-panel.op-maquette .wz-rec .wr-d{width:9px;height:9px;border-radius:999px;flex:none;background:var(--op-line);}
#feature-panel.op-maquette .wz-rec .wr-d[data-fill="1"]{background:#2563eb;}
#feature-panel.op-maquette .wz-rec .wr-t{font-weight:800;font-size:13.5px;color:var(--op-ink);flex:1;min-width:0;}
#feature-panel.op-maquette .wz-rec .wr-s{font-size:11.5px;color:var(--op-ink-3);text-align:right;}
#feature-panel.op-maquette .wz-com-yn{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
#feature-panel.op-maquette .wz-rec-sep{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--op-ink-faint);margin:14px 0 6px;}
#feature-panel.op-maquette .wz-rec-sep::before{content:'';display:inline-block;width:13px;height:13px;margin-right:5px;vertical-align:-1px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9h16l-1-5H5L4 9Z'/%3E%3Cpath d='M5 9v11h14V9'/%3E%3Crect x='9' y='13' width='6' height='7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9h16l-1-5H5L4 9Z'/%3E%3Cpath d='M5 9v11h14V9'/%3E%3Crect x='9' y='13' width='6' height='7'/%3E%3C/svg%3E") center/contain no-repeat;}
#feature-panel.op-maquette .sheet-cancel{margin:9px 16px 0;min-height:46px;width:calc(100% - 32px);border:none;border-radius:12px;background:transparent;color:var(--op-ink-3);font-weight:700;font-size:13px;cursor:pointer;font-family:var(--op-font);text-decoration:underline;}
#feature-panel.op-maquette .flytype{display:flex;gap:10px;padding:8px 16px 0;}
#feature-panel.op-maquette .flytype button{flex:1;min-height:96px;border:1.5px solid var(--op-line);background:var(--op-surface);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-family:var(--op-font);font-weight:800;font-size:13.5px;color:var(--op-ink);}
#feature-panel.op-maquette .flytype button[data-sel="1"]{border-color:var(--op-mission-boitage);background:var(--op-mission-boitage-bg);color:var(--op-mission-boitage);}
/* R2-4 : module CONTACT — 3 codes couleur DISTINCTS : proprio (neutre) / proprio PRO (vert) / locataire (cyan) */
#feature-panel.op-maquette .ct-wrap{padding:4px 16px 0;}
#feature-panel.op-maquette .ct-card{border:1.5px solid var(--op-line);border-radius:14px;padding:13px;margin-top:12px;background:var(--op-surface);transition:border-color .18s, box-shadow .18s, background .18s;}
#feature-panel.op-maquette .ct-card:first-child{margin-top:4px;}
#feature-panel.op-maquette .ct-head{display:flex;align-items:center;gap:9px;margin-bottom:6px;}
#feature-panel.op-maquette .ct-head .ct-t{flex:1;font-size:13px;font-weight:800;color:var(--op-ink);}
/* badge "Professionnel" — visible seulement en mode PRO sur la carte propriétaire */
#feature-panel.op-maquette .ct-probadge{display:none;font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#fff;background:var(--op-mission-pro);border-radius:999px;padding:3px 9px;flex:none;}
#feature-panel.op-maquette .ct-card.is-pro .ct-probadge{display:inline-block;}
#feature-panel.op-maquette .ct-protoggle{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;color:var(--op-ink-3);cursor:pointer;border:1.5px solid var(--op-line);border-radius:999px;padding:5px 13px;min-height:44px;}
#feature-panel.op-maquette .ct-protoggle .pt-sw{width:34px;height:20px;border-radius:999px;background:var(--op-line);position:relative;transition:.18s;flex:none;}
#feature-panel.op-maquette .ct-protoggle .pt-sw::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:.18s;}
#feature-panel.op-maquette .ct-card.is-pro .ct-protoggle .pt-sw::after{transform:translateX(14px);}
/* CARTE PROPRIÉTAIRE PRO = vert pâle (#15803d à faible opacité) + libellé Professionnel */
#feature-panel.op-maquette #ctOwner.is-pro{border-color:var(--op-mission-pro);background:#f0fdf4;box-shadow:0 0 0 3px rgba(21,128,61,.10);}
#feature-panel.op-maquette #ctOwner.is-pro .ct-protoggle{border-color:var(--op-mission-pro);color:var(--op-mission-pro);}
#feature-panel.op-maquette #ctOwner.is-pro .ct-protoggle .pt-sw{background:var(--op-mission-pro);}
#feature-panel.op-maquette #ctOwner.is-pro .ct-card input:focus,
#feature-panel.op-maquette #ctOwner.is-pro .ct-card select:focus{border-color:var(--op-mission-pro);box-shadow:0 0 0 3px rgba(21,128,61,.16);}
/* CARTE LOCATAIRE = teinte CYAN distincte (code occupation locataire #06b6d4), jamais le vert PRO */
#feature-panel.op-maquette #ctTenant{border-color:rgba(6,182,212,.30);background:#f0fdff;box-shadow:0 0 0 3px rgba(6,182,212,.08);}
#feature-panel.op-maquette #ctTenant .ct-protoggle{border-color:rgba(6,182,212,.45);color:var(--op-data-dvf);}
#feature-panel.op-maquette #ctTenant.is-pro .ct-protoggle .pt-sw{background:var(--op-data-dvf);}
#feature-panel.op-maquette #ctTenant input:focus,
#feature-panel.op-maquette #ctTenant select:focus{border-color:var(--op-data-dvf);box-shadow:0 0 0 3px rgba(6,182,212,.16);}
#feature-panel.op-maquette .ct-lbl{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--op-ink-3);margin:11px 0 5px;}
#feature-panel.op-maquette .ct-card input,
#feature-panel.op-maquette .ct-card select{width:100%;min-height:46px;border:1.5px solid var(--op-line);border-radius:11px;padding:0 13px;font-size:15px;font-family:var(--op-font);color:var(--op-ink);background:var(--op-surface);}
#feature-panel.op-maquette .ct-card input:focus,
#feature-panel.op-maquette .ct-card select:focus{outline:none;border-color:var(--op-ink-2);box-shadow:0 0 0 3px rgba(15,23,42,.10);}
#feature-panel.op-maquette .ct-grid2{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
/* mention "auto-rempli depuis la base" sur les champs société */
#feature-panel.op-maquette .ct-auto-note{font-size:11px;font-weight:700;color:var(--op-mission-pro);margin:9px 0 0;display:none;}
#feature-panel.op-maquette .ct-card.is-pro .ct-auto-note{display:block;}
#feature-panel.op-maquette .ct-pro-fields{display:none;}
#feature-panel.op-maquette .ct-card.is-pro .ct-pro-fields{display:block;}
#feature-panel.op-maquette .ct-card.is-pro .ct-part-only{display:none;}
/* "Voir le gérant" = vert PRO, visible seulement si PRO + SIREN 9 chiffres */
#feature-panel.op-maquette .ct-gerant{margin-top:11px;min-height:48px;width:100%;border:1.5px solid var(--op-mission-pro);background:#ecfdf5;color:var(--op-mission-pro);border-radius:12px;font-weight:800;font-size:13.5px;cursor:pointer;font-family:var(--op-font);display:none;}
#feature-panel.op-maquette #ctOwner.is-pro .ct-gerant.show{display:block;}
#feature-panel.op-maquette .ct-gerant-result{margin-top:9px;font-size:13px;font-weight:700;color:var(--op-mission-pro);background:#ecfdf5;border:1px solid rgba(21,128,61,.3);border-radius:11px;padding:11px 13px;display:none;}
#feature-panel.op-maquette .ct-gerant-result[data-show="1"]{display:block;}
/* "Programmer un courrier" = violet boîtage ; DÉSACTIVÉ tant que la séquence n'est pas débloquée */
#feature-panel.op-maquette .ct-courrier{margin:14px 16px 0;min-height:50px;width:calc(100% - 32px);border:1.5px solid var(--op-mission-boitage);background:var(--op-mission-boitage-bg);color:var(--op-mission-boitage);border-radius:12px;font-weight:800;font-size:13.5px;cursor:pointer;font-family:var(--op-font);transition:.18s;}
#feature-panel.op-maquette .ct-courrier[data-on="1"]{background:var(--op-mission-boitage);color:#fff;}
#feature-panel.op-maquette .ct-courrier[disabled],
#feature-panel.op-maquette .ct-courrier.locked{opacity:.45;cursor:not-allowed;border-color:var(--op-line);background:var(--op-surface-2);color:var(--op-ink-faint);}

/* [COURRIER-FICHE 2026-07-03] AR6 — enveloppe sur la ligne Contact + modale centrée de confirmation.
   Vert = famille « Mes courriers » (--op-mission-pro #15803d) ; le violet reste réservé au boîtage. */
#feature-panel.op-maquette .iline .il-courrier{flex:none;width:44px;height:44px;border-radius:11px;border:1.5px solid var(--op-mission-pro);background:#f0fdf4;color:var(--op-mission-pro);display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:.16s;padding:0;}
#feature-panel.op-maquette .iline .il-courrier:active{filter:brightness(.94);transform:scale(.96);}
#feature-panel.op-maquette .iline .il-courrier svg{width:21px;height:21px;}
#feature-panel.op-maquette .iline .il-courrier[data-on="1"]{background:var(--op-mission-pro);color:#fff;}
/* modale CENTRÉE (overlay, pas une feuille du bas) */
#feature-panel.op-maquette .cm-scrim{position:absolute;inset:0;background:var(--op-scrim);z-index:80;display:none;align-items:center;justify-content:center;padding:22px;}
#feature-panel.op-maquette .cm-scrim[data-open="1"]{display:flex;}
#feature-panel.op-maquette .cm-card{width:100%;max-width:330px;background:#fff;border-radius:20px;padding:20px 18px 18px;position:relative;box-shadow:0 24px 60px rgba(15,23,42,.4);animation:cmPop .18s cubic-bezier(.22,1,.36,1);}
@keyframes cmPop{from{transform:scale(.94);opacity:0;}to{transform:scale(1);opacity:1;}}
#feature-panel.op-maquette .cm-x{position:absolute;top:11px;right:11px;width:32px;height:32px;border-radius:999px;border:1px solid var(--op-line);background:#fff;color:var(--op-ink-3);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;cursor:pointer;font-family:var(--op-font);}
#feature-panel.op-maquette .cm-ico{width:52px;height:52px;border-radius:999px;background:#f0fdf4;display:flex;align-items:center;justify-content:center;margin:2px auto 12px;}
#feature-panel.op-maquette .cm-ico svg{width:26px;height:26px;color:var(--op-mission-pro);}
#feature-panel.op-maquette .cm-title{font-size:15.5px;font-weight:800;color:var(--op-ink);text-align:center;line-height:1.3;margin:0 6px 6px;}
#feature-panel.op-maquette .cm-sub{font-size:12px;color:var(--op-ink-3);text-align:center;line-height:1.45;margin:0 4px 16px;}
#feature-panel.op-maquette .cm-foot{display:flex;gap:9px;}
#feature-panel.op-maquette .cm-foot button{flex:1;min-height:48px;border-radius:12px;font-weight:800;font-size:14px;font-family:var(--op-font);cursor:pointer;}
#feature-panel.op-maquette .cm-no{border:1.5px solid var(--op-line);background:#fff;color:var(--op-ink-2);}
#feature-panel.op-maquette .cm-yes{border:0;background:var(--op-mission-pro);color:#fff;}
#feature-panel.op-maquette .cm-yes:active,#feature-panel.op-maquette .cm-no:active{filter:brightness(.94);}
/* indice de la gate (mot court + ⓘ), affiché seulement quand le courrier est verrouillé en PRO */
#feature-panel.op-maquette .ct-gate-hint{display:none;align-items:center;gap:8px;margin:8px 16px 0;font-size:12px;font-weight:700;color:var(--op-ink-3);}
#feature-panel.op-maquette .ct-gate-hint.show{display:flex;}
#feature-panel.op-maquette .ct-gate-hint .pi-i{width:44px;height:44px;min-width:44px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--op-ink-3);cursor:pointer;flex:none;margin-left:auto;}
#feature-panel.op-maquette .ct-gate-hint .pi-i::before{content:"i";width:24px;height:24px;border-radius:999px;border:1px solid var(--op-line);display:flex;align-items:center;justify-content:center;font-style:italic;font-family:Georgia,serif;font-weight:700;}
/* R5-1 : onglets Propriétaire / Locataire DANS le Contact */
#feature-panel.op-maquette .ct-tabs{display:flex;margin:2px 16px 6px;border-bottom:1.5px solid var(--op-line);}
#feature-panel.op-maquette .ct-tab{flex:1;min-height:46px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13.5px;font-weight:800;color:var(--op-ink-3);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1.5px;}
#feature-panel.op-maquette .ct-tab[data-on="1"]{color:var(--op-ink);border-color:var(--op-ink);}
#feature-panel.op-maquette .ct-tab .ct-tdot{width:8px;height:8px;border-radius:999px;flex:none;display:none;}
#feature-panel.op-maquette .ct-tab.has-data .ct-tdot{display:inline-block;}
#feature-panel.op-maquette .ct-pane{display:none;}
#feature-panel.op-maquette .ct-pane[data-on="1"]{display:block;}
/* R5-2 : recherche AUTO du gérant à l'ouverture d'un PRO (bandeau discret) */
#feature-panel.op-maquette .ct-gerant-auto{margin-top:10px;display:none;align-items:center;gap:9px;font-size:12.5px;font-weight:700;color:var(--op-ink-3);background:var(--op-surface-2);border:1px solid var(--op-line);border-radius:11px;padding:10px 12px;}
#feature-panel.op-maquette .ct-gerant-auto.show{display:flex;}
#feature-panel.op-maquette .ct-gerant-auto .ga-spin{width:15px;height:15px;border-radius:50%;border:2.5px solid var(--op-line);border-top-color:var(--op-mission-pro);animation:scSpin .7s linear infinite;flex:none;}
/* R5-3/R5-4 : pop-up COURRIER (infos manquantes / siège social / aperçu lettre pro vs particulier) */
#feature-panel.op-maquette .cr-body{padding:2px 16px 0;}
#feature-panel.op-maquette .cr-miss{background:#fff7ed;border:1px solid rgba(245,158,11,.45);border-radius:12px;padding:12px 13px;font-size:13.5px;color:var(--op-ink-2);line-height:1.5;}
#feature-panel.op-maquette .cr-miss b{color:var(--op-ink);}
#feature-panel.op-maquette .cr-miss ul{margin:7px 0 0;padding-left:18px;}
#feature-panel.op-maquette .cr-miss li{margin:3px 0;font-weight:700;}
#feature-panel.op-maquette .cr-letter{border:1px solid var(--op-line);border-radius:12px;padding:14px;background:var(--op-surface-2);font-size:12.5px;line-height:1.55;color:var(--op-ink-2);}
#feature-panel.op-maquette .cr-letter .cr-kind{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:#fff;border-radius:5px;padding:2px 8px;margin-bottom:9px;}
#feature-panel.op-maquette .cr-letter .cr-kind.pro{background:var(--op-mission-pro);}
#feature-panel.op-maquette .cr-letter .cr-kind.part{background:var(--op-ink-2);}
#feature-panel.op-maquette .cr-letter p{margin:0 0 8px;}
#feature-panel.op-maquette .cr-foot{display:flex;gap:9px;margin:16px 16px 0;}
#feature-panel.op-maquette .cr-foot button{flex:1;min-height:48px;border-radius:12px;font-weight:800;font-size:13.5px;cursor:pointer;font-family:var(--op-font);border:1.5px solid var(--op-line);background:#fff;color:var(--op-ink-2);}
/* [LOT-COURRIER-FIX 2026-07-02] CTA du flux courrier = VERT famille courriers/PRO
   (#15803d), plus le violet boitage (violet reserve boitage/QR — code couleur canonique). */
#feature-panel.op-maquette .cr-foot button.primary{border:0;background:var(--op-mission-pro);color:#fff;}
/* [LOT-COURRIER-FIX 2026-07-02 T-nocoord] cas « aucune coordonnee » (maquette v5 ecran 5) :
   pastille alerte + message empathie + 2 CTA (Saisir le proprietaire / Plus tard). */
#feature-panel.op-maquette .cr-noco{padding:2px 16px 0;text-align:center;}
#feature-panel.op-maquette .cr-noco .nc-ic{width:46px;height:46px;border-radius:14px;background:#fff7ed;color:#c2410c;display:flex;align-items:center;justify-content:center;margin:2px auto 12px;}
#feature-panel.op-maquette .cr-noco .nc-ic svg{width:24px;height:24px;}
#feature-panel.op-maquette .cr-noco p{font-size:13px;color:var(--op-ink-2);line-height:1.55;margin:0 auto;max-width:300px;}
#feature-panel.op-maquette .cr-noco p b{color:var(--op-ink);}
/* R2-7 : module NOTES — antérieures + édition */
#feature-panel.op-maquette .notes-prev{margin:4px 16px 0;}
#feature-panel.op-maquette .note-item{border:1px solid var(--op-line);border-radius:12px;padding:11px 13px;margin-top:9px;background:var(--op-surface-2);}
#feature-panel.op-maquette .note-item:first-child{margin-top:4px;}
#feature-panel.op-maquette .note-item .nd{font-size:11px;font-weight:800;color:var(--op-ink-faint);text-transform:uppercase;letter-spacing:.3px;margin-bottom:3px;}
#feature-panel.op-maquette .note-item .nt{font-size:13.5px;font-weight:600;color:var(--op-ink-2);line-height:1.45;}
#feature-panel.op-maquette .notes-empty{margin:4px 16px 0;font-size:12.5px;color:var(--op-ink-faint);font-weight:600;}
/* ATTRIBUTION multi-agences — auteur d'une note / flyer / passage (indigo accent agence #4f46e5).
     Rendu UNIQUEMENT en mode agence ET pour un AUTRE collègue (jamais pour « vous »). */
#feature-panel.op-maquette .auth{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:var(--op-ink-faint);vertical-align:middle;}
#feature-panel.op-maquette .auth .auth-av{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:9.5px;font-weight:800;line-height:1;flex:0 0 auto;text-transform:uppercase;}
#feature-panel.op-maquette .auth .auth-nm{color:var(--op-ink-2);font-weight:700;}
/* dans le journal flyer : la ligne agent reprend le motif, pas de doublon de couleur métier */
#feature-panel.op-maquette .fly-agent .auth{margin-left:0;}
/* note : auteur sur la ligne de date (.nd), discret à droite */
#feature-panel.op-maquette .note-item .nd{display:flex;align-items:center;gap:8px;}
#feature-panel.op-maquette .note-item .nd .auth{margin-left:auto;}
/* passage : auteur en bout de ligne */
#feature-panel.op-maquette .ro-list .ro-item .auth{margin-left:auto;}
/* [retours3b 2026-06-22 — CHANGEMENT 2] Notes = archive datee scrollable +
   actions ✎ modifier / 🗑 supprimer par note (cibles tactiles >= 40px). */
#feature-panel.op-maquette .notes-archive{max-height:42vh;overflow-y:auto;-webkit-overflow-scrolling:touch;}
#feature-panel.op-maquette .note-item .note-actions{display:flex;gap:8px;margin-top:9px;}
#feature-panel.op-maquette .note-item .note-actions button{flex:1;min-height:40px;border-radius:9px;border:1px solid var(--op-line);background:var(--op-surface);font-family:var(--op-font);font-size:12.5px;font-weight:800;cursor:pointer;color:var(--op-ink-2);-webkit-tap-highlight-color:transparent;}
#feature-panel.op-maquette .note-item .note-actions .note-edit:active{background:#eef2ff;border-color:#4f46e5;color:#4f46e5;}
#feature-panel.op-maquette .note-item .note-actions .note-del{color:#b91c1c;}
#feature-panel.op-maquette .note-item .note-actions .note-del:active{background:#fef2f2;border-color:#b91c1c;}
#feature-panel.op-maquette .ib-text{padding:0 18px;font-size:13px;line-height:1.55;color:var(--op-ink-2);}
#feature-panel.op-maquette .ib-text b{color:var(--op-ink);}
#feature-panel.op-maquette .toast{position:absolute;left:50%;bottom:140px;transform:translateX(-50%) translateY(12px);z-index:90;background:var(--op-ink);color:#fff;font-weight:700;font-size:13px;padding:11px 18px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:.22s;white-space:nowrap;}
#feature-panel.op-maquette .toast[data-show="1"]{opacity:1;transform:translateX(-50%) translateY(0);}

/* ============================================================================
   [ESTAMPILLAGE 2026-07-03] Pastille auteur « initiales + date » (mode agence)
   Maquette VALIDÉE Nicolas — mockups/estampillage_agence/index.html.
   Forme portée au pixel : rond 18px d'initiales (graphite neutre) + date relative
   courte + petit ⓘ. « moi » = variante verte douce. Jamais de nom complet ici
   (il vit dans le ⓘ = #sheetStamp). Discrète, en fin de ligne (margin-left:auto).
   Cible tactile élargie (>=28px de hauteur cliquable via padding) sans grossir le
   visuel. Rendu UNIQUEMENT en mode agence (le JS ne produit rien en solo).
   ========================================================================== */
#feature-panel.op-maquette .op-authstamp{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding:5px 2px;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;}
#feature-panel.op-maquette .op-authstamp-ini{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#e2e8f0;color:#475569;font-size:9px;font-weight:800;line-height:1;letter-spacing:.3px;flex:0 0 auto;text-transform:uppercase;}
#feature-panel.op-maquette .op-authstamp-d{font-size:10.5px;font-weight:700;color:var(--op-ink-faint);}
#feature-panel.op-maquette .op-authstamp-i{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:999px;border:1px solid var(--op-ink-faint);color:var(--op-ink-faint);font-size:9px;font-style:italic;font-family:Georgia,"Times New Roman",serif;line-height:1;flex:0 0 auto;}
#feature-panel.op-maquette .op-authstamp:active .op-authstamp-i,#feature-panel.op-maquette .op-authstamp:focus-visible .op-authstamp-i{border-color:var(--op-ink-3);color:var(--op-ink-3);}
/* « moi » : vert doux (mes propres saisies) — le ⓘ dit « Toi » */
#feature-panel.op-maquette .op-authstamp.me .op-authstamp-ini{background:#dcfce7;color:#15803d;}
/* placement en fin de ligne selon le contexte (note, occupation, passage) */
#feature-panel.op-maquette .note-item .nd .op-authstamp{margin-left:auto;}
#feature-panel.op-maquette .ro-list .ro-item .op-authstamp{margin-left:auto;}
/* ⓘ détail (feuille) : SEUL endroit où le nom complet apparaît */
#feature-panel.op-maquette .op-authstamp-sheet{padding:2px 18px 8px;}
#feature-panel.op-maquette .op-authstamp-who{font-size:16px;font-weight:800;color:var(--op-ink);}
#feature-panel.op-maquette .op-authstamp-when{font-size:12.5px;font-weight:600;color:var(--op-ink-3);margin-top:3px;}
#feature-panel.op-maquette .op-authstamp-what{font-size:12.5px;font-weight:600;color:var(--op-ink-3);margin-top:10px;border-top:1px solid var(--op-line);padding-top:9px;}

/* ============================================================================
   [CIBLES-44 2026-07-04] Fiche : hit-area tactile >= 44x44 px (mobile).
   Patron ::before transparent centré (n'agrandit pas le visuel). Additif.
   Les pastilles/dots décoratifs NE sont PAS touchés.
   ========================================================================== */

/* --- Icônes info ⓘ / "i" italique + petites cibles carrées : hit-area 44x44 --- */
#feature-panel.op-maquette .bien-head .bh-i,
#feature-panel.op-maquette .bld-sales .bs-kick .bs-i,
#feature-panel.op-maquette .encart-neutre .en-i,
#feature-panel.op-maquette .scrape .sc-lbl .sc-i,
#feature-panel.op-maquette .lot-usage .lu-i,
#feature-panel.op-maquette .jdq-check .jc-box,
#feature-panel.op-maquette .sc-relink .sc-ico,
#feature-panel.op-maquette .ctx .c-close,
#feature-panel.op-maquette .sv-head .sv-close { position:relative; }

#feature-panel.op-maquette .bien-head .bh-i::before,
#feature-panel.op-maquette .bld-sales .bs-kick .bs-i::before,
#feature-panel.op-maquette .encart-neutre .en-i::before,
#feature-panel.op-maquette .scrape .sc-lbl .sc-i::before,
#feature-panel.op-maquette .lot-usage .lu-i::before,
#feature-panel.op-maquette .jdq-check .jc-box::before,
#feature-panel.op-maquette .sc-relink .sc-ico::before,
#feature-panel.op-maquette .ctx .c-close::before,
#feature-panel.op-maquette .sv-head .sv-close::before {
  content:""; position:absolute; top:50%; left:50%;
  width:44px; height:44px; transform:translate(-50%,-50%);
}

/* --- Boutons texte / steppers dont la hauteur < 44 : montée à 44 (largeur déjà
   suffisante ou bouton isolé -> aucune occlusion). --- */
#feature-panel.op-maquette .ba-edit,
#feature-panel.op-maquette .bn-add,
#feature-panel.op-maquette .ba-empty button,
#feature-panel.op-maquette .mark-copro button,
#feature-panel.op-maquette .note-item .note-actions button,
#feature-panel.op-maquette .wz-floor .wf-step button,
#feature-panel.op-maquette .lotpager .lp-nav { min-height:44px; }
#feature-panel.op-maquette .lotpager .lp-nav { height:44px; }
/* fin [CIBLES-44] */
