:root{
  --bg:#0c1116; --panel:#141c24; --panel2:#1a242e; --line:#26333f;
  --txt:#e8eef3; --mut:#8aa0b2; --emerald:#2fd6a0; --emerald2:#19b486;
  --amber:#f7b955; --blue:#4aa3ff; --wa:#25d366; --danger:#ff6b6b;
  --radius:14px;
}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,#16323a 0,transparent 60%),var(--bg);
  color:var(--txt);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:inherit;text-decoration:none}
h1,h2{margin:0}

.top{display:flex;align-items:center;gap:20px;padding:18px 24px;border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,#101820,#0c1116);position:sticky;top:0;z-index:30;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:14px;margin-right:auto}
.logo{font-size:34px}
.top h1{font-size:26px;font-weight:800;letter-spacing:-.5px}
.dot{color:var(--emerald)}
.sub{margin:0;color:var(--mut);font-size:13px}
.stats{display:flex;gap:10px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px 16px;text-align:center;min-width:78px}
.stat b{display:block;font-size:22px;color:var(--emerald);font-weight:800}
.stat span{font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.6px}
.btn-refresh{background:linear-gradient(135deg,var(--emerald),var(--emerald2));color:#03261c;border:0;
  font-weight:800;font-size:15px;padding:12px 20px;border-radius:12px;cursor:pointer;box-shadow:0 6px 18px -6px var(--emerald)}
.btn-refresh:disabled{opacity:.6;cursor:wait}

.progress{display:flex;align-items:center;gap:12px;padding:10px 24px;background:var(--panel2);
  border-bottom:1px solid var(--line);color:var(--mut);font-size:13px;font-family:ui-monospace,monospace}
.spinner{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--emerald);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.quick{padding:16px 24px;border-bottom:1px solid var(--line)}
.quick h2{font-size:13px;color:var(--mut);font-weight:600;margin-bottom:10px}
.quick h2 small{color:#5f7587}
.quick-grid{display:flex;gap:10px;flex-wrap:wrap}
.qtile{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 14px;min-width:150px}
.qtile h3{margin:0 0 6px;font-size:14px}
.qtile .qlinks{display:flex;flex-wrap:wrap;gap:5px}
.qtile a{font-size:11px;background:var(--panel2);border:1px solid var(--line);padding:3px 8px;border-radius:20px;color:var(--mut)}
.qtile a:hover{color:var(--amber);border-color:var(--amber)}

.filters{padding:16px 24px;display:flex;flex-direction:column;gap:12px;position:sticky;top:73px;background:var(--bg);z-index:20;border-bottom:1px solid var(--line)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{background:var(--panel);border:1px solid var(--line);padding:7px 14px;border-radius:30px;cursor:pointer;font-size:13px;font-weight:600;color:var(--mut)}
.chip.active{background:var(--emerald);color:#03261c;border-color:var(--emerald)}
.chip b{margin-left:5px;opacity:.7;font-weight:700}
.filter-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.search-wrap{position:relative;flex:1;min-width:220px;display:flex;align-items:center}
.search-wrap > i{position:absolute;left:13px;color:var(--mut);pointer-events:none;font-size:14px}
.logo i{color:var(--emerald)}
#search{flex:1;min-width:220px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;color:var(--txt);font-size:14px}
.search-wrap #search{width:100%;padding-left:38px}
.seg{display:flex;background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.seg-b{padding:8px 14px;cursor:pointer;font-size:13px;color:var(--mut)}
.seg-b.active{background:var(--panel2);color:var(--txt)}
.tog{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--mut);cursor:pointer}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;padding:20px 24px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.15s}
.card:hover{border-color:#37485a;transform:translateY(-2px)}
.card.contacted{opacity:.55}
.thumb{display:block;aspect-ratio:16/10;background:var(--panel2);overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover}
.body{padding:14px;display:flex;flex-direction:column;gap:9px;flex:1}
.meta{display:flex;justify-content:space-between;align-items:center}
.src{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--amber);background:#2a2113;padding:2px 8px;border-radius:6px}
.src.s2{color:var(--blue);background:#13202e}
.price{font-weight:800;font-size:17px;color:var(--emerald)}
.title{font-weight:700;font-size:15px;line-height:1.35;color:var(--txt)}
.title:hover{color:var(--emerald)}
.loc{font-size:12px;color:var(--mut)}
.msg{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:9px;color:var(--txt);font:13px/1.45 inherit;resize:vertical}
.actions{display:flex;gap:7px;flex-wrap:wrap}
.cta{flex:1;min-width:0;text-align:center;padding:10px;border-radius:10px;font-weight:800;font-size:13px;cursor:pointer;border:0}
.cta.wa{background:var(--wa);color:#03260f}
.cta.open{background:var(--emerald);color:#03261c}
.cta.mail{background:var(--blue);color:#021a33}
.cta.call{background:var(--panel2);color:var(--txt);border:1px solid var(--line);flex:0 0 auto;padding:10px 12px}
.row2{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.lnk{background:transparent;border:1px solid var(--line);color:var(--mut);font-size:12px;padding:6px 9px;border-radius:8px;cursor:pointer}
.lnk:hover{color:var(--txt);border-color:#3a4b5c}
.lnk.ai:hover{color:var(--amber);border-color:var(--amber)}
.lnk.done.on{background:var(--emerald);color:#03261c;border-color:var(--emerald)}

.empty{padding:60px 24px;text-align:center;color:var(--mut)}
footer{padding:18px 24px;color:#5f7587;font-size:12px;border-top:1px solid var(--line);text-align:center}
.hidden{display:none!important}
@media(max-width:640px){.top{padding:14px}.grid{padding:14px;gap:12px}.filters{top:0;position:static}}
