.gre-app{font-family:Arial,Helvetica,sans-serif;color:#173247;max-width:1100px;margin:22px auto}
.gre-app *{box-sizing:border-box}.gre-card{background:#fff;border:1px solid #d8e1e7;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(15,39,56,.08)}
.gre-brand{background:#173247;color:#fff;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.gre-brand h2{color:#fff;margin:3px 0 6px;font-size:27px}.gre-brand p{margin:0;color:#dbe7ee;max-width:700px;line-height:1.45}.gre-eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;color:#97bdcf}
.gre-phone{display:inline-flex;text-decoration:none;color:#173247;background:#fff;border-radius:999px;padding:10px 16px;font-weight:800;white-space:nowrap}
.gre-progress{padding:16px 28px;border-bottom:1px solid #e5ebef}.gre-progress-bar{height:5px;border-radius:99px;background:#e8eef2;overflow:hidden}.gre-progress-bar span{display:block;height:100%;width:0;background:#d3a340;transition:width .25s ease}
.gre-step-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:10px;font-weight:800;text-transform:uppercase;color:#96a3ac}.gre-step-labels span.active{color:#173247}
.gre-step{display:none;padding:26px 28px}.gre-step.active{display:block}.gre-step h3{margin:0 0 6px;font-size:22px;color:#173247}.gre-muted{color:#60727e;margin:0 0 18px;line-height:1.45}
.gre-help,.gre-status{font-size:12px;margin-top:8px;color:#61737f}.gre-error-text{color:#b42318!important}
.gre-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.gre-btn,.gre-btn-secondary{border:0;border-radius:8px;padding:12px 18px;font-weight:800;cursor:pointer;font-size:12px}.gre-btn{background:#173247;color:#fff}.gre-btn:hover{background:#214d68}.gre-btn:disabled{opacity:.42;cursor:not-allowed}.gre-btn-secondary{background:#edf2f5;color:#173247}
.gre-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gre-grid label{font-size:11px;font-weight:800;color:#344d5c}.gre-full{grid-column:1/-1}
.gre-grid input,.gre-grid select,.gre-code-row input{display:block;width:100%;margin-top:5px;border:1px solid #cbd6dd;border-radius:8px;padding:11px;background:#fff;font-size:14px}
#gre-google-address-host{min-height:48px}
.gre-property-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:14px}.gre-3d-shell{position:relative;min-height:390px;border-radius:12px;overflow:hidden;background:#eef3f6;border:1px solid #d8e2e8}.gre-map3d{height:390px;width:100%}
.gre-map-placeholder{height:100%;min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#72838d;padding:24px}.gre-map-placeholder strong{color:#173247;margin-bottom:6px}
.gre-map-badge{position:absolute;left:12px;bottom:12px;background:rgba(23,50,71,.9);color:#fff;border-radius:6px;padding:6px 9px;font-size:10px;font-weight:800}
.gre-measure-panel{border:1px solid #dce5ea;border-radius:12px;padding:16px;min-height:210px;display:flex;align-items:center;justify-content:center;background:#fafcfd}
.gre-measuring,.gre-measure-success,.gre-measure-error{text-align:center}.gre-measuring strong,.gre-measure-success strong,.gre-measure-error strong{display:block;font-size:16px;margin:8px 0 5px}.gre-measuring small,.gre-measure-success span,.gre-measure-error span{display:block;color:#657783;line-height:1.4}
.gre-measure-success strong{color:#18794e}.gre-measure-error strong{color:#b42318}.gre-spinner{display:inline-block;width:30px;height:30px;border:3px solid #dbe4e9;border-top-color:#173247;border-radius:50%;animation:gre-spin .8s linear infinite}@keyframes gre-spin{to{transform:rotate(360deg)}}
.gre-material-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.gre-material-card{display:flex;flex-direction:column;text-align:left;border:2px solid #dbe4e9;background:#fff;border-radius:12px;padding:16px;cursor:pointer}.gre-material-card.selected{border-color:#d3a340;background:#fffaf0}
.gre-material-name{font-weight:900;color:#173247;font-size:15px}.gre-material-desc{color:#647681;margin-top:5px;line-height:1.35}.gre-material-rate{font-size:10px;font-weight:800;text-transform:uppercase;color:#9a7629;margin-top:10px}
.gre-verify-box{border:1px solid #d7e2e8;border-radius:12px;padding:16px;background:#f8fbfc;margin-top:14px}.gre-code-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:12px}.gre-code-row label{font-size:11px;font-weight:800}
.gre-report-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.gre-report-head h3{margin-top:4px}.gre-verified-badge{background:#e8f6ec;color:#18794e;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:900}
.gre-price-card{margin:18px 0;background:#173247;color:#fff;border-radius:14px;padding:22px}.gre-price-card span,.gre-price-card small{display:block;color:#c8d8e1}.gre-price-card strong{display:block;font-size:32px;margin:5px 0 8px}.gre-price-card small{line-height:1.45}
.gre-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.gre-summary>div{border:1px solid #dce5ea;border-radius:10px;padding:13px;background:#fafcfd}.gre-summary span{display:block;font-size:10px;text-transform:uppercase;color:#6b7b85}.gre-summary strong{display:block;margin-top:4px;color:#173247}
.gre-schedule{border:1px solid #d9e3e8;border-radius:12px;padding:18px;margin-top:18px}.gre-schedule h4{margin:0 0 5px;font-size:17px}.gre-schedule p{margin:0 0 14px;color:#61737e;line-height:1.4}
.gre-report-note{background:#fff8e8;border:1px solid #ecd8a9;border-radius:10px;padding:14px;margin-top:18px}.gre-report-note strong{color:#785d20}.gre-report-note p{margin:5px 0 0;color:#5e5b51;line-height:1.45}
@media(max-width:760px){.gre-brand{flex-direction:column;align-items:flex-start}.gre-phone{align-self:flex-start}.gre-step{padding:22px 16px}.gre-progress{padding:14px 16px}.gre-property-layout{grid-template-columns:1fr}.gre-grid{grid-template-columns:1fr}.gre-full{grid-column:auto}.gre-material-grid{grid-template-columns:1fr}.gre-summary{grid-template-columns:1fr}.gre-code-row{grid-template-columns:1fr}.gre-step-labels{gap:5px;font-size:8px}.gre-map3d,.gre-map-placeholder{min-height:320px;height:320px}}
.gre-map-reset{
  position:absolute;
  top:12px;
  right:12px;
  z-index:5;
  border:1px solid rgba(23,50,71,.16);
  background:rgba(255,255,255,.94);
  color:#173247;
  border-radius:7px;
  padding:7px 10px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
  cursor:pointer;
  box-shadow:0 2px 7px rgba(0,0,0,.08);
}
.gre-map-reset:hover{background:#fff}

.gre-material-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}
.gre-material-brand{font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#173247}
.gre-material-impact{font-size:9px;font-weight:800;border-radius:999px;padding:4px 7px;background:#eef3f6;color:#5a6e79}
.gre-material-card.selected .gre-material-impact{background:#f4e3b6;color:#70551a}

.gre-map-controls{
  position:absolute;
  top:10px;
  right:10px;
  z-index:8;
  display:flex;
  gap:6px;
  padding:4px;
  border-radius:9px;
  background:rgba(255,255,255,.94);
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.gre-map-mode{
  border:0;
  border-radius:6px;
  padding:7px 9px;
  background:transparent;
  color:#173247;
  font-size:9px;
  font-weight:900;
  letter-spacing:.03em;
  cursor:pointer;
}
.gre-map-mode.active{
  background:#173247;
  color:#fff;
}
.gre-map-mode:disabled{opacity:.6;cursor:wait}
.gre-satellite-map{min-height:390px}
@media(max-width:760px){
  .gre-map-controls{top:8px;right:8px}
  .gre-map-mode{padding:6px 7px;font-size:8px}
  .gre-satellite-map{min-height:320px}
}

/* v1.8 mobile property-view refinements */
.gre-3d-shell,.gre-map3d{max-width:100%;overflow:hidden}
@media(max-width:600px){
  .gre-property-layout{display:block}
  .gre-3d-shell{
    width:100%;
    min-height:300px;
    border-radius:10px;
    margin:0 0 12px;
  }
  .gre-map3d,
  .gre-satellite-map{
    width:100%!important;
    height:300px!important;
    min-height:300px!important;
  }
  .gre-map-controls{
    top:8px;
    left:8px;
    right:auto;
    max-width:calc(100% - 16px);
  }
  .gre-map-mode{
    padding:7px 8px;
    font-size:8px;
    white-space:nowrap;
  }
  .gre-map-badge{
    left:8px;
    bottom:8px;
    max-width:calc(100% - 16px);
    font-size:8px;
  }
  .gre-measure-panel{
    min-height:150px;
    padding:14px;
  }
}
@media(max-width:390px){
  .gre-3d-shell{min-height:275px}
  .gre-map3d,.gre-satellite-map{
    height:275px!important;
    min-height:275px!important;
  }
}

/* v2.0 report-style property step */
.gre-report-property-step{background:#fff}
.gre-report-strip{display:flex;justify-content:flex-end;border-bottom:1px solid #dce5e9;padding-bottom:12px;margin-bottom:10px}
.gre-report-strip>div{text-align:right}
.gre-report-kicker{display:block;font-size:9px;font-weight:900;letter-spacing:.18em;color:#79b7c8}
.gre-report-strip strong{display:block;margin-top:4px;font-size:10px;color:#7a8992;font-weight:500}
.gre-prepared-row{display:grid;grid-template-columns:2.4fr 1fr;gap:20px;padding:12px 0 16px;border-bottom:1px solid #dce5e9}
.gre-prepared-row span{display:block;font-size:8px;letter-spacing:.14em;color:#93a0a7;font-weight:900}
.gre-prepared-row strong{display:block;margin-top:5px;font-size:12px;color:#173247}
.gre-street-shell{height:210px;overflow:hidden;margin:0 -28px 18px;background:#eef3f5}
.gre-street-view{height:100%;width:100%}
.gre-street-view .gre-map-placeholder{height:210px;min-height:210px}
.gre-measured-title{margin:16px 0 12px}
.gre-measured-title h3{font-size:16px;margin:0 0 4px}
.gre-measured-title p{font-size:11px;margin:0;color:#6b7c85}
.gre-report-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.gre-report-stat{border:1px solid #d8e1e6;border-radius:9px;text-align:center;padding:14px;background:#fff}
.gre-report-stat span{display:block;font-size:8px;letter-spacing:.12em;color:#87959d;font-weight:900}
.gre-report-stat strong{display:block;font-size:22px;margin:6px 0 3px;color:#173247}
.gre-report-stat small{font-size:9px;color:#8b969c}
.gre-report-map-shell{position:relative;height:300px;border:1px solid #d8e1e6;border-radius:10px;overflow:hidden;background:#edf3f5}
.gre-report-map-shell .gre-map3d,.gre-report-map-shell .gre-satellite-map{height:300px!important;min-height:300px!important}
.gre-report-map-shell .gre-map-placeholder{height:300px!important;min-height:300px!important}
.gre-report-measure-panel{min-height:88px;margin-top:12px;background:#fbfcfd}
@media(max-width:760px){
  .gre-prepared-row{grid-template-columns:1fr;gap:12px}
  .gre-street-shell{height:180px;margin-left:-16px;margin-right:-16px}
  .gre-street-view .gre-map-placeholder{height:180px;min-height:180px}
  .gre-report-stat strong{font-size:19px}
  .gre-report-map-shell{height:320px}
  .gre-report-map-shell .gre-map3d,.gre-report-map-shell .gre-satellite-map{height:320px!important;min-height:320px!important}
}

.gre-locked-measurement-note{border:1px solid #d7e2e8;border-radius:12px;padding:18px;background:#f8fbfc;margin:16px 0}.gre-locked-measurement-note strong{display:block;font-size:16px}.gre-locked-measurement-note p{margin:6px 0 0;color:#667}
