:root{
  --bg:#1e1f24;          /* solid dark grey */
  --card:#151821;        /* card surface */
  --surface:#15161a;     /* inputs + property cards */
  --line:rgba(255,255,255,.10);
  --text:#eaf0ff;
  --muted:#a9b7da;

  --accent:#4f8cff;
  --ok:#40d18b;
  --warn:#ffcc66;
  --danger:#ff6e6e;

  --shadow:0 6px 18px rgba(0,0,0,.45);
  --r:16px;
}

*{box-sizing:border-box}

html,body{height:100%}

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:14px/1.35 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
}

.wrap{
  max-width:520px;
  margin:0 auto;
  padding:calc(env(safe-area-inset-top) + 70px) 18px 18px 18px;
}

.top{margin-bottom:12px}

.brand{
  display:flex;
  gap:12px;
  align-items:center;
}

.logo{
  width:42px;
  height:42px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(79,140,255,.18);
  border:1px solid rgba(79,140,255,.28);
}

.title{
  font-weight:900;
  font-size:16px;
}

.sub{
  color:var(--muted);
  font-size:12px;
  margin-top:2px;
}

.card{
  background:var(--card);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--r);
  box-shadow:var(--shadow);
  padding:14px;
}

label{
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-bottom:6px;
}

.inputWrap{
  position:relative;
}

.inputRow{
  display:flex;
  gap:10px;
}

input{
  flex:1;
  padding:14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:var(--surface);
  color:var(--text);
  outline:none;
  font-size:16px;
}

button{
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(79,140,255,.35);
  background:rgba(79,140,255,.20);
  color:var(--text);
  font-weight:900;
  cursor:pointer;
}

button:active{transform:translateY(1px)}

.hint{
  color:var(--muted);
  font-size:12px;
  margin-top:8px;
}

.divider{
  height:1px;
  background:rgba(255,255,255,.06);
  margin:14px 0;
}

.result{min-height:88px}

.muted{color:var(--muted)}

.badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  color:var(--muted);
  font-size:12px;
}

.badge.ok{
  border-color:rgba(64,209,139,.35);
  background:rgba(64,209,139,.12);
  color:#c9ffe7;
}

.badge.warn{
  border-color:rgba(255,204,102,.35);
  background:rgba(255,204,102,.12);
  color:#ffe9bd;
}

.badge.info{
  border-color: rgba(79,140,255,.35);
  background: rgba(79,140,255,.12);
  color:#d7e6ff;
}

.badge.danger{
  border-color: rgba(255,110,110,.35);
  background: rgba(255,110,110,.12);
  color:#ffd2d2;
}

.list{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:12px;
}

.prop{
  position:relative;
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  background:var(--surface);
  overflow:hidden;
  transition:all .15s ease;
}

/* Status color bar on each listing */
.prop::before{
  content:"";
  position:absolute; left:0; top:0; bottom:0;
  width:4px; background:rgba(79,140,255,.9); /* default: Available */
}
.prop[data-status="Owned"]::before{ background:rgba(64,209,139,.95); }
.prop[data-status="Pending Sale"]::before{ background:rgba(255,204,102,.95); }
.prop[data-status="Government Owned"]::before{ background:rgba(255,110,110,.95); }

.prop:active{
  transform:scale(.995);
}

.prop summary{
  list-style:none;
  cursor:pointer;
  padding:12px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.prop summary::-webkit-details-marker{display:none}

.propTop{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.propPostal{
  font-weight:900;
  font-size:15px;
}

.propMeta{
  color:var(--muted);
  font-size:12px;
}

.propRight{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  min-width:120px;
}

.propPrice{
  font-weight:900;
  font-size:13px;
}

.chev{
  color:var(--muted);
  font-size:12px;
}

.propBody{
  padding:12px;
  border-top:1px solid rgba(255,255,255,.06);
}

.kv{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:10px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:14px;
  padding:12px;
  background:rgba(0,0,0,.12);
}

.k{
  color:var(--muted);
  font-size:12px;
}

.v{font-weight:900}

.notes{
  margin-top:10px;
  padding:10px 12px;
  border:1px dashed rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(0,0,0,.10);
}

.notesTitle{
  color:var(--muted);
  font-size:12px;
  margin-bottom:6px;
}

.notesText{
  font-size:13px;
  white-space:pre-wrap;
}

.copyRow{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  margin-top:12px;
}

.copyBtn{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(79,140,255,.35);
  background:rgba(79,140,255,.18);
  color:var(--text);
  font-weight:900;
  cursor:pointer;
}

.copyBtn:active{transform:translateY(1px)}

.toast{
  margin-top:10px;
  color:var(--muted);
  font-size:12px;
}

.foot{
  margin-top:14px;
  text-align:center;
}

/* Autocomplete dropdown */
.suggest{
  position:absolute;
  top: calc(100% + 8px);
  left:0;
  right:0;
  z-index:50;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:#121317;
  box-shadow:0 10px 28px rgba(0,0,0,.55);
  overflow:hidden;
  display:none;
}

.suggest.open{display:block}

.suggestItem{
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
  border-top:1px solid rgba(255,255,255,.06);
}

.suggestItem:first-child{border-top:none}

.suggestItem:active{
  background:rgba(255,255,255,.04);
}

.sLeft{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.sPostal{
  font-weight:900;
}

.sNote{
  color:var(--muted);
  font-size:12px;
}

.sBadge{
  flex:0 0 auto;
}


