body{background:var(--bg);color:var(--text);font:13px/1.55 var(--font-b)}button,input{font:inherit}.property-loading,.property-error{max-width:900px;margin:60px auto;padding:30px}.property-header{position:sticky;top:0;z-index:20;background:var(--text);color:var(--bg)}.property-top{height:60px;display:flex;align-items:center;gap:18px;max-width:1280px;margin:auto;padding:0 24px}.property-back{color:#d8d5cc;text-decoration:none}.property-brand{font:700 16px var(--font-d)}.property-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:#0008}.property-modal-box{width:min(520px,100%);padding:26px;border:1px solid var(--border);border-radius:4px;background:var(--surface);box-shadow:0 22px 80px #0005}.property-modal-box h2{margin:0 0 8px;font:700 24px var(--font-d)}.property-modal-box p{margin:0 0 18px;color:var(--text-2)}.property-checkbox{display:flex;align-items:center;gap:8px;margin-top:12px;color:var(--text-2)}.property-checkbox input{width:auto}.analysis-residence-options{display:grid;gap:12px;margin:18px 0;text-align:left}.listing-slider{display:flex;align-items:center;gap:9px;margin-left:auto}.listing-slider button{width:34px;height:34px;border:1px solid #ffffff40;border-radius:3px;background:transparent;color:#fff;font-size:21px;cursor:pointer}.listing-slider button:disabled{opacity:.3;cursor:not-allowed}.listing-slider span{min-width:52px;text-align:center;font:10px var(--font-m);color:#d8d5cc}.property-tabs{display:flex;align-items:end;max-width:1280px;margin:auto;padding:0 24px;background:var(--surface);overflow:auto;border-bottom:1px solid var(--border)}.property-tab{min-height:54px;padding:0 20px;border:0;border-bottom:3px solid transparent;background:none;color:var(--text-2);font-weight:600;white-space:nowrap;cursor:pointer}.property-tab[aria-selected=true]{border-bottom-color:var(--warn);color:var(--text)}.property-tab-add{color:var(--text-2)}.property-tab-menu{position:absolute;z-index:30;min-width:200px;margin-top:2px;padding:6px;border:1px solid var(--border);border-radius:4px;background:var(--surface);box-shadow:0 10px 30px #0002}.property-tab-menu[hidden]{display:none}.property-tab-menu button{display:block;width:100%;padding:9px 10px;border:0;border-radius:3px;background:none;color:var(--text);font-weight:600;text-align:left;cursor:pointer}.property-tab-menu button:hover{background:var(--surface2)}.property-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.property-action{border:1px solid var(--border);border-radius:3px;background:var(--surface);padding:9px 7px;cursor:pointer}.property-classification-actions{grid-template-columns:repeat(3,1fr)}.property-classification-actions .property-action{min-height:42px;font-weight:700}.property-classification-actions .workflow-shortlist{color:var(--go);border-color:var(--go-border)}.property-classification-actions .workflow-discarded{color:var(--danger);border-color:var(--danger-border)}.property-classification-actions .workflow-to_visit{color:var(--warn);border-color:var(--warn-border)}.property-classification-actions .property-action.is-active{color:#fff}.property-classification-actions .workflow-shortlist.is-active{background:var(--go)}.property-classification-actions .workflow-discarded.is-active{background:var(--danger)}.property-classification-actions .workflow-to_visit.is-active{background:var(--warn);color:var(--text)}.property-content{max-width:1280px;margin:auto;padding:28px 24px}.listing-heading small,.analysis-eyebrow{font:700 9px var(--font-m);letter-spacing:.14em;text-transform:uppercase;color:var(--warn)}.listing-heading h1{font:700 clamp(26px,4vw,38px) var(--font-d);margin:5px 0}.listing-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:24px;margin-top:24px}.property-gallery-wrap{position:relative;min-width:0}.property-gallery-stage{position:relative}.property-gallery-main{display:block;width:100%;height:500px;object-fit:cover;border-radius:4px;background:var(--surface2)}.property-gallery-arrow{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:42px;height:52px;padding:0;border:1px solid #ffffff80;border-radius:3px;background:#16150fbf;color:#fff;font-size:32px;line-height:1;transform:translateY(-50%);cursor:pointer}.property-gallery-arrow.previous{left:14px}.property-gallery-arrow.next{right:14px}.property-gallery-arrow:hover{background:#16150f}.property-analysis-tags{position:absolute;z-index:3;top:14px;right:14px;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.property-analysis-tag{padding:5px 9px;border-radius:2px;border:1px solid var(--border);background:#fffffff0;font:700 9px var(--font-m);text-transform:uppercase}.property-analysis-tag.patrimonial{color:var(--warn)}.property-analysis-tag.locatif{color:var(--go)}.property-analysis-tag.mdb{color:var(--danger)}.property-thumbnail-strip{display:flex;align-items:center;gap:6px;margin-top:7px}.property-thumbnails-viewport{width:min(100%,602px);overflow:hidden;scroll-behavior:smooth}.property-thumbnails{display:flex;gap:6px;width:max-content}.property-thumbnails button{flex:0 0 70px;width:70px;height:52px;border:2px solid transparent;background-size:cover;background-position:center;cursor:pointer}.property-thumbnails button.active{border-color:var(--text)}.property-thumbnail-arrow{flex:0 0 30px;height:52px;padding:0;border:1px solid var(--border);border-radius:3px;background:var(--surface);color:var(--text);font-size:24px;cursor:pointer}.property-thumbnail-arrow:disabled{opacity:.3;cursor:not-allowed}.listing-summary{display:flex;flex-direction:column;gap:14px}.listing-price{font:700 30px var(--font-d)}.listing-kpis{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border)}.listing-kpis div{padding:12px;border-bottom:1px solid var(--border)}.listing-kpis strong{display:block;font:600 18px var(--font-d)}.property-panel{border:1px solid var(--border);background:var(--surface);padding:18px}.property-field label{display:block;font-weight:600;margin-bottom:6px}.property-field input{width:100%;padding:10px;border:1px solid var(--border);background:var(--surface)}.property-field small{display:block;margin-top:6px;color:var(--text-2)}.property-primary,.property-secondary,.property-danger{border:1px solid var(--text);border-radius:3px;padding:10px 14px;background:var(--text);color:var(--bg);font-weight:600;cursor:pointer;text-decoration:none;text-align:center}.property-source-link{display:block}.property-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.property-danger{background:var(--surface);color:var(--danger);border-color:var(--danger-border)}.listing-description{margin-top:24px}.analysis-state{min-height:560px;display:grid;place-items:center}.analysis-state-card{width:min(620px,100%);padding:34px;text-align:center;border:1px solid var(--border);background:var(--surface)}.analysis-state-card h2{font:700 27px var(--font-d);margin:8px}.analysis-state-card p{color:var(--text-2);margin:0 auto 20px;max-width:480px}.analysis-form{text-align:left}.analysis-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.analysis-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.analysis-spinner{width:40px;height:40px;margin:0 auto 16px;border:3px solid var(--surface3);border-right-color:var(--warn);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.analysis-error{color:var(--danger)}.analysis-toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.native-analysis{min-height:300px}.native-analysis .hero{margin:0}@media(max-width:800px){.listing-layout{grid-template-columns:minmax(0,1fr)}.property-gallery-main{height:400px}}@media(max-width:560px){.property-top{padding:0 14px}.property-brand{display:none}.property-tabs{padding:0 8px}.property-tab{padding:0 13px;min-height:48px}.mdb-long{display:none}.tab-add-label{display:none}.property-content{padding:18px 14px}.property-gallery-main{height:280px}.property-gallery-arrow{width:36px;height:46px}.property-gallery-arrow.previous{left:8px}.property-gallery-arrow.next{right:8px}.property-analysis-tag{font-size:8px}.analysis-form-grid{grid-template-columns:1fr}.analysis-state-card{padding:24px 16px}.analysis-toolbar{flex-wrap:wrap}.property-actions{grid-template-columns:1fr 1fr}}@media(min-width:561px){.mdb-short{display:none}}

/* Les fiches d'analyse intégrées reprennent le même cadre que la fiche annonce. */
.native-analysis{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:4px;background:var(--surface)}
.native-analysis .hero{padding:24px 24px 0}
.listing-kpi small{display:flex;align-items:center;gap:5px}.listing-kpi strong{cursor:pointer}.kpi-edit-trigger{display:inline-grid;place-items:center;width:18px;height:18px;padding:0;border:0;background:transparent;color:var(--warn);font-size:14px;cursor:pointer}.kpi-edit-input{width:100%;margin-top:3px;padding:3px 5px;border:1px solid var(--warn);background:var(--surface);font:600 18px var(--font-d)}
.listing-title-row{display:flex;align-items:center;gap:8px}.listing-title-row h1{min-width:0}.listing-title-edit{flex:0 0 24px;width:24px;height:24px;font-size:18px}.listing-title-row .kpi-edit-input{max-width:800px;margin:5px 0;padding:4px 7px;font:700 clamp(26px,4vw,38px) var(--font-d)}
.listing-price-editable small{display:flex;align-items:center;gap:5px;font:700 9px var(--font-m);letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}.listing-price-editable strong{display:block;cursor:pointer}.listing-price-editable .kpi-edit-input{font:700 30px var(--font-d)}.property-location-quick-edit{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.55fr);gap:14px}.property-location-quick-edit .listing-kpi{min-width:0}.property-location-quick-edit .listing-kpi:nth-child(3),.property-location-quick-edit>small{grid-column:1/-1}.property-location-quick-edit>small{color:var(--text-2)}
.listing-description-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.listing-description-heading h2{margin:0}.listing-description-edit{width:28px;height:28px;font-size:18px}.listing-description-input{width:100%;margin-top:14px;padding:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;line-height:1.6;resize:vertical}
.native-analysis .hero-top-no-gallery{grid-template-columns:minmax(0,1fr) auto}
.native-analysis .tabs-nav{top:114px;padding-inline:24px}
.native-analysis .tab-content,.native-analysis .content{width:100%;max-width:none;padding:24px}
.native-analysis .site-footer{margin-top:16px;padding-inline:24px}
.price-page{display:grid;gap:24px}.price-heading,.price-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.price-heading-actions{display:flex;align-items:stretch;gap:8px;flex-shrink:0}.price-heading h1{margin:4px 0;font:700 clamp(28px,4vw,40px) var(--font-d)}.price-heading p{margin:0;color:var(--text-2)}.price-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.price-summary-card{display:flex;min-height:142px;flex-direction:column;padding:18px;border:1px solid var(--border);background:var(--surface)}.price-summary-card small{font:700 9px var(--font-m);letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}.price-summary-card strong{margin:auto 0 4px;font:700 20px var(--font-d)}.price-summary-card span{color:var(--text-2);font-size:11px}.price-summary-card.median{border-color:var(--median-bg);background:var(--median-bg);color:var(--median-text)}.price-summary-card.median small,.price-summary-card.median span{color:var(--median-muted)}.price-summary-card.offer{border-top:3px solid var(--go);background:var(--go-bg)}.price-argument{padding:24px;border:1px solid var(--border);background:var(--surface)}.price-argument h2,.price-section-title h2{margin:5px 0 8px;font:700 24px var(--font-d)}.price-argument p{max-width:880px;font-size:15px}.price-argument ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0 0;padding:0;list-style:none}.price-argument li{padding:12px;border-left:2px solid var(--warn);background:var(--surface2)}.price-transactions{padding:24px;border:1px solid var(--border);background:var(--surface)}.price-section-title>span{color:var(--text-2);font-size:11px}.price-table-wrap{overflow:auto}.price-table-wrap table{width:100%;min-width:800px;border-collapse:collapse}.price-table-wrap th{padding:9px;border-bottom:1px solid var(--text);text-align:left;font:700 9px var(--font-m);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.price-table-wrap td{padding:12px 9px;border-bottom:1px solid var(--border);vertical-align:top}.price-table-wrap td small{display:block;color:var(--text-2)}.price-limitations{margin:14px 0 0;color:var(--text-2);font-size:11px}
.price-view-tabs{display:flex;gap:4px;margin:18px 0 12px;border-bottom:1px solid var(--border)}.price-view-tabs button{min-width:90px;padding:10px 16px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-2);font-weight:700;cursor:pointer}.price-view-tabs button[aria-selected="true"]{border-bottom-color:var(--warn);color:var(--text)}.price-map-panel{position:relative}.price-map{height:480px;border:1px solid var(--border);background:var(--surface2);z-index:0}.price-map-legend{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:9px 0;color:var(--text-2);font-size:10px}.price-map-legend i{width:130px;height:8px;border-radius:10px;background:linear-gradient(90deg,rgb(134,217,147),rgb(220,76,76))}.price-house-marker{display:grid!important;place-items:center;border:2px solid #fff;border-radius:50%;background:transparent;box-shadow:0 2px 8px #0005;color:#fff;font-size:24px;font-weight:700;overflow:hidden}.price-house-marker span{display:grid;place-items:center;width:100%;height:100%}.price-map-empty{position:absolute;z-index:500;top:12px;left:50%;transform:translateX(-50%);padding:8px 12px;background:#fffffff0;box-shadow:0 2px 8px #0002}.price-map-popup{min-width:220px;color:var(--text);font:13px Inter,sans-serif}.price-map-popup>small{display:block;margin-bottom:4px;color:var(--text-2);font:700 9px var(--font-m);letter-spacing:.08em;text-transform:uppercase}.price-map-popup>strong{display:block;margin-bottom:10px;line-height:1.35}.price-map-popup>span{display:block;color:var(--text-2);font-size:11px}.price-map-popup>b{display:block;margin-top:2px;font-size:16px}.price-map-popup dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.price-map-popup dt{color:var(--text-2);font-size:9px;text-transform:uppercase}.price-map-popup dd{margin:2px 0 0}
.price-market{padding:24px;border:1px solid var(--border);background:var(--surface)}.price-market-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.price-market-heading h2{margin:5px 0 3px;font:700 26px var(--font-d)}.price-market-heading p,.price-market-charts p{margin:0;color:var(--text-2)}.price-market-filters{display:flex;gap:12px}.price-market-filters fieldset{display:flex;gap:4px;margin:0;padding:0;border:0}.price-market-filters legend{margin-bottom:5px;color:var(--text-2);font:700 9px var(--font-m);letter-spacing:.08em;text-transform:uppercase}.price-market-filters button{min-height:36px;padding:8px 12px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-weight:700;cursor:pointer}.price-market-filters button[aria-pressed="true"]{border-color:var(--text);background:var(--text);color:#fff}.price-market-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}.price-market-kpis article{display:flex;min-height:116px;flex-direction:column;padding:16px;border:1px solid var(--border);background:var(--surface2)}.price-market-kpis small{font:700 9px var(--font-m);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}.price-market-kpis strong{margin:auto 0 2px;font:700 25px var(--font-d)}.price-market-kpis strong.is-up{color:var(--go)}.price-market-kpis strong.is-down{color:var(--danger)}.price-market-kpis strong.is-neutral{font-size:18px}.price-market-kpis span{color:var(--text-2);font-size:11px}.price-market-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.price-market-charts>article{min-width:0;padding:18px;border:1px solid var(--border)}.price-market-charts h3{margin:0 0 3px;font:700 18px var(--font-d)}.price-chart{margin-top:14px}.price-chart-legend{display:flex;justify-content:flex-end;gap:18px;color:var(--text-2);font-size:10px}.price-chart-legend span:before{content:"";display:inline-block;width:18px;height:3px;margin-right:6px;vertical-align:middle;background:var(--warn)}.price-chart-legend .mean:before{background:var(--go)}.price-chart svg{display:block;width:100%;height:auto;overflow:visible}.price-chart .axis{stroke:var(--border-hi);stroke-width:1}.price-chart text{fill:var(--text-2);font:10px var(--font-m)}.price-chart path{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.price-chart path.median,.price-chart circle{stroke:var(--warn);fill:var(--surface)}.price-chart path.mean,.price-chart circle.mean{stroke:var(--go)}.price-chart-empty{display:grid;min-height:240px;place-items:center;margin-top:14px;background:var(--surface2);color:var(--text-2);text-align:center}.price-market-note{margin:16px 0 0;color:var(--text-2);font-size:11px}

@media(max-width:760px){
  .native-analysis .hero{padding:20px 16px 0}
  .native-analysis .hero-top{grid-template-columns:minmax(0,1fr);gap:16px}
  .native-analysis .verdict-block{text-align:left}
  .native-analysis .tabs-nav{top:108px;padding-inline:8px}
  .native-analysis .tab-content,.native-analysis .content{padding:20px 16px}
  .native-analysis .section-grid{grid-template-columns:minmax(0,1fr)}
  .native-analysis .hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .native-analysis .site-footer{padding-inline:16px}
  .price-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.price-argument ul{grid-template-columns:1fr}.price-heading{align-items:stretch;flex-direction:column}.price-heading-actions{align-self:flex-start;flex-wrap:wrap}.price-market-heading{flex-direction:column}.price-market-charts{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:480px){
  .native-analysis .hero-kpis{grid-template-columns:minmax(0,1fr)}
  .native-analysis .axes-grid,.native-analysis .sources-grid{grid-template-columns:minmax(0,1fr)}
  .native-analysis .krow{grid-template-columns:minmax(0,1fr)}
  .native-analysis .kval,.native-analysis .ksrc{white-space:normal}
  .price-summary-grid{grid-template-columns:minmax(0,1fr)}.price-transactions,.price-argument,.price-market{padding:18px 14px}.price-section-title{display:block}.price-section-title>span{display:block;margin-top:8px}.price-market-filters{flex-direction:column}.price-market-kpis{grid-template-columns:minmax(0,1fr)}.price-market-filters fieldset{flex-wrap:wrap}
}

/* Classements de visite et onglet de suivi. */

.property-classification-actions{margin-top:8px}.property-utility-actions{grid-template-columns:repeat(2,1fr);margin-top:6px}
.notes-page{max-width:980px;margin:auto}.notes-form{display:grid;gap:16px;margin-top:24px}.notes-card{padding:22px}.notes-card h2{margin:0 0 16px;font:700 20px var(--font-d)}.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.notes-agent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.notes-card textarea{width:100%;resize:vertical;line-height:1.6}.notes-card input[readonly]{background:var(--surface2);color:var(--text-2)}.notes-contact-link{display:inline-block;margin-top:7px;color:#1769aa;font-weight:600}.notes-actions{display:flex;justify-content:flex-end}
@media(max-width:760px){.notes-agent-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.notes-grid{grid-template-columns:minmax(0,1fr)}.notes-card{padding:18px 14px}}

/* Contrôle de publication réservé à l'administration. */
.property-visibility{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px}.property-visibility>span{font-weight:700}.property-visibility>div{display:flex;border:1px solid var(--border)}.property-visibility label{position:relative;padding:7px 11px;cursor:pointer}.property-visibility label+label{border-left:1px solid var(--border)}.property-visibility input{position:absolute;opacity:0}.property-visibility label:has(input:checked){background:var(--go);color:#fff}

.property-type-control label{display:block;margin-bottom:7px;font-weight:600}.property-type-control select{width:100%;padding:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.property-type-control small{display:block;margin-top:7px;color:var(--text-2)}

.property-prequalification-score{position:absolute;right:14px;top:14px;z-index:4;width:64px;height:64px;border:4px solid var(--prequalification-score-color);border-radius:50%;box-sizing:border-box;background:#fff;box-shadow:0 2px 10px #16150f40;display:grid;place-items:center;color:#24221d;font:700 14px var(--font-m)}.property-prequalification-score span{text-align:center}
.location-suggestions{position:absolute;z-index:50;top:100%;left:0;right:0;border:1px solid var(--line,#ddd);background:var(--surface,#fff);box-shadow:0 8px 20px #0002}.location-suggestions:empty{display:none}.location-suggestions button{display:block;width:100%;padding:9px 11px;border:0;border-bottom:1px solid var(--line,#ddd);background:none;text-align:left;cursor:pointer}.location-suggestions button:hover,.location-suggestions button:focus{background:var(--surface-2,#f5f5f5)}
.property-location-editor{position:relative;display:grid;gap:7px}.property-location-editor input{width:100%}
