.property-intro { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: #F8F8F1; }
.property-form-card { width: min(100%, 520px); padding: clamp(25px, 5vw, 48px); border-radius: 24px; background: #fff; border: 1px solid #DFE5D7; box-shadow: var(--shadow); }
.property-mini-brand, .property-header-brand { display: flex; align-items: center; gap: 9px; color: #29452B; font: 800 22px/1 var(--head); }
.property-back { display: flex; align-items: center; gap: 5px; border: 0; background: transparent; color: #385C39; font-weight: 700; margin: 28px 0; padding: 0; }
.property-form-card h1 { margin: 8px 0 12px; font-size: clamp(28px, 5vw, 39px); }
.property-description { color: #596451; margin-bottom: 30px; }
.property-form-card .label { margin: 20px 0 8px; }
.property-optional { color: #596451; font-weight: 400; }
.property-form-card .btn { width: 100%; margin-top: 28px; }
.property-error { color: #9B4037; font-size: 12px; margin-top: 12px; }
.property-footnote { color: #596451; font-size: 11px; margin-top: 16px; line-height: 1.4; }
.property-screen { min-height: 100vh; background: #F8F8F1; }
.property-header { display: flex; align-items: center; gap: clamp(20px, 4vw, 64px); padding: 19px clamp(20px, 4vw, 55px); background: #fff; border-bottom: 1px solid #DFE5D7; }
.property-header > div:last-child { min-width: 0; overflow-wrap: anywhere; }
.property-header h1 { font-size: 24px; margin: 3px 0; }
.property-header p:last-child { font-size: 12px; color: #596451; }
.property-map-layout { position: relative; min-height: calc(100vh - 92px); }
.property-map-wrap { position: relative; min-height: calc(100vh - 92px); background: #DCE5D3; }
.property-map { height: calc(100vh - 92px); min-height: 540px; width: 100%; }
.property-map-message { position: absolute; z-index: 450; top: 80px; left: 50%; transform: translateX(-50%); width: min(90%, 450px); background: #FFF1D8; color: #654B20; border-radius: 13px; padding: 12px 15px; text-align: center; font-size: 12px; box-shadow: var(--shadow); }
.property-map-message[hidden] { display: none; }
.property-panel { position: absolute; z-index: 400; top: 20px; right: 20px; width: min(350px, calc(100% - 40px)); max-height: calc(100vh - 135px); overflow-y: auto; padding: 22px; background: #F8F8F1; border-radius: 22px; box-shadow: 0 14px 42px rgba(20, 45, 22, .2); }
.property-panel h2 { margin-top: 6px; font-size: 25px; }
.property-panel-guide { color: #596451; font-size: 12px; margin: 10px 0 18px; }
.property-area { display: grid; gap: 2px; padding: 13px 15px; background: #E9EFDA; border-radius: 15px; color: #385C39; }
.property-area span { font-size: 11px; font-weight: 700; }
.property-area strong { font: 800 27px/1.15 var(--head); }
.property-area small { color: #596451; }
.property-area-note { margin: 7px 0 16px; color: #596451; font-size: 11px; }
.property-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.property-tools .btn { min-height: 43px; padding: 8px 10px; font-size: 11px; }
.property-tools .btn:first-child, .property-tools .property-confirm { grid-column: 1 / -1; }
.property-panel-handle { display: none; }
.property-map .leaflet-control-container .leaflet-top.leaflet-left { left: 16px; top: 16px; }
.property-map .leaflet-ctrl-geocoder { width: min(380px, calc(100vw - 115px)); max-width: none; }
.property-map maptiler-geocoder { display: block; width: 100%; }
.property-map .leaflet-control-attribution { font-size: 10px; }
.property-map .leaflet-bottom { bottom: 22px; }
@media (max-width: 820px) {
  .property-header { padding: 12px 18px; gap: 14px; }
  .property-header-brand { font-size: 0; }
  .property-header h1 { font-size: 20px; }
  .property-map-layout, .property-map-wrap { min-height: 55vh; }
  .property-map { height: 55vh; min-height: 390px; }
  .property-panel { position: relative; top: auto; right: auto; width: 100%; max-height: none; margin-top: -18px; padding: 17px 20px max(25px, env(safe-area-inset-bottom)); border-radius: 22px 22px 0 0; }
  .property-panel-handle { display: block; width: 38px; height: 4px; margin: 0 auto 14px; border-radius: 4px; background: #C3CFB8; }
  .property-map-message { top: 75px; }
}
