/* Super App V1.22 — FD calculator + validated place autocomplete */

.v15-version-pill::after,
.v15-settings-row[data-v15-me-open="about"] .v15-settings-status::after,
.v15-about-card h3::after{content:attr(data-app-version)!important}

/* FD calculator */
.v22-tenure-field{min-width:0}
.v22-tenure-field small,
.v22-interest-note{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.35;
}
.v22-calculated-input{
  background:var(--surface-2)!important;
  color:var(--green)!important;
  font-weight:700!important;
}
.v22-calculated-input[readonly]{cursor:default}

/* Real-place autocomplete layered on top of V1.21 one-city-per-row fields. */
.v22-place-field{
  position:relative;
  min-width:0;
  width:100%;
}
.v22-place-field>input{width:100%;min-width:0}
.v22-place-status{
  display:block;
  min-height:16px;
  margin:5px 2px 0;
  color:var(--muted);
  font-size:.68rem;
  line-height:1.25;
}
.v22-place-status.selected{color:var(--green)}
.v22-place-status.selected::before{content:'✓ ';font-weight:800}
.v22-place-status.error{color:#9b4137}
.v22-place-results{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 4px);
  z-index:1500;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--surface);
  box-shadow:0 18px 46px rgba(14,42,33,.18);
}
.v22-place-results[hidden]{display:none!important}
.v22-place-option{
  width:100%;
  min-width:0;
  min-height:54px;
  padding:10px 12px;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  color:var(--green);
  text-align:left;
  display:grid;
  gap:3px;
}
.v22-place-option:last-of-type{border-bottom:0}
.v22-place-option:active,.v22-place-option:hover{background:var(--surface-2)}
.v22-place-option strong{
  min-width:0;
  overflow-wrap:anywhere;
  font-size:.83rem;
  line-height:1.2;
}
.v22-place-option small{color:var(--muted);font-size:.66rem}
.v22-place-source,.v22-place-empty{
  padding:9px 12px;
  color:var(--muted);
  font-size:.66rem;
  line-height:1.3;
  background:var(--surface-2);
}
.v21-city-row:has(.v22-place-results:not([hidden])){position:relative;z-index:20}

@media(max-width:520px){
  .v22-place-results{border-radius:14px}
  .v22-place-option{min-height:56px;padding:11px 12px}
  .v22-place-option strong{font-size:.8rem}
}
