:root{
  --bg:#0e1621; --card:#17212b; --card2:#20303d; --line:#2c3e4d;
  --text:#f2f7fb; --muted:#b4c6d4; --label:#cfdbe6;
  --accent:#f0b429; --accent2:#4fb4ff;
  --good:#5bdd97; --bad:#ff7b7b; --radius:16px;
  --pledge:#4fb4ff; --flip:#b08cff; --urgent:#ff9d5c;
}
/* Палитра форсируется (бренд тёмный), НЕ наследуем tg-theme переменные. */
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg); color:var(--text);
  font-size:16px;line-height:1.45;padding-bottom:env(safe-area-inset-bottom);
}
#app{max-width:620px;margin:0 auto;padding:0 14px 28px}

.appbar{display:flex;align-items:center;gap:10px;padding:16px 2px 8px}
.crown{font-size:28px;color:var(--accent)}
.appbar-title b{font-size:19px;display:block;color:var(--text)}
.appbar-title small{color:var(--muted);font-size:12px}

.tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{
  flex:0 0 auto;border:1px solid var(--line);cursor:pointer;white-space:nowrap;
  background:var(--card); color:var(--label);
  padding:9px 14px;border-radius:999px;font-size:14px;font-weight:600;transition:.15s;
}
.tab.active{background:var(--accent);color:#1a1205;border-color:var(--accent)}

.toplegal{font-size:12px;color:var(--muted);background:rgba(240,180,41,.08);
  border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:6px 0 14px;line-height:1.5}

.loading,.empty{color:var(--muted);text-align:center;padding:30px 10px}

/* ---------- карточка объекта ---------- */
.obj{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  margin-bottom:16px;overflow:hidden}
.obj .photo{position:relative;height:150px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#1b2a38 0%,#20303d 100%);overflow:hidden}
.obj .photo img{width:100%;height:100%;object-fit:cover;display:block}
.obj .photo .ph-emoji{font-size:54px;opacity:.85}
.obj .badge-type{position:absolute;top:10px;left:10px;font-size:12px;font-weight:700;
  padding:5px 10px;border-radius:999px;background:rgba(14,22,33,.82);border:1px solid var(--line)}
.obj .badge-type.pledge{color:var(--pledge)}
.obj .badge-type.flip{color:var(--flip)}
.obj .badge-type.urgent{color:var(--urgent)}
.obj .id-chip{position:absolute;top:10px;right:10px;font-size:11px;font-weight:700;
  padding:4px 8px;border-radius:999px;background:rgba(14,22,33,.82);color:var(--muted);border:1px solid var(--line)}

.obj .body{padding:14px 16px 16px}
.obj h2{margin:0 0 2px;font-size:17px;color:var(--text)}
.obj .loc{color:var(--muted);font-size:13px;margin:0 0 10px}
.obj .desc{color:var(--label);font-size:14px;margin:0 0 12px;line-height:1.5}

.obj .params{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:12px}
.obj .params .p{background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.obj .params .p .k{display:block;color:var(--muted);font-size:11px;margin-bottom:2px}
.obj .params .p .v{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}
.obj .params .p .v.accent{color:var(--accent)}
.obj .params .p .v.good{color:var(--good)}

.btn{display:block;width:100%;border:none;border-radius:12px;padding:14px;font-size:16px;font-weight:700;
  cursor:pointer;background:var(--accent);color:#1a1205}
.btn:disabled{opacity:.6}

.note{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.5}
.note.ok{color:var(--good)}
.note.warn{color:var(--accent)}

.cardlegal{font-size:11px;color:var(--muted);margin-top:11px;line-height:1.5;opacity:.85}

.disclaimer{font-size:12px;color:var(--muted);text-align:center;padding:14px 6px;line-height:1.6;opacity:.9}
.hidden{display:none !important}
