:root{--bg:#0f1419;--panel:#1a2027;--line:#2a323c;--txt:#e6e9ee;--mut:#8b97a5;--acc:#4aa8ff;--warn:#ffb454;--risk:#3a1f24}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:1500px;margin:0 auto;padding:16px}header h1{margin:0 0 8px;font-size:20px}.stats{display:flex;gap:16px;flex-wrap:wrap;color:var(--mut);margin-bottom:10px}.stats b{color:var(--txt)}.stats .warn{color:var(--warn)}nav{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:14px}nav button{background:none;border:none;color:var(--mut);padding:8px 14px;cursor:pointer;font-size:14px;border-bottom:2px solid transparent}nav button.active{color:var(--acc);border-bottom-color:var(--acc)}.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;background:var(--panel);padding:12px;border-radius:8px;margin-bottom:12px}.filters label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--mut)}.filters label.check{flex-direction:row;align-items:center;gap:6px;color:var(--txt)}.filters select,.filters input{background:var(--bg);color:var(--txt);border:1px solid var(--line);border-radius:6px;padding:5px 8px}.filters input[type=number]{width:90px}.rooms{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--mut)}.chip{background:var(--bg);color:var(--txt);border:1px solid var(--line);border-radius:6px;padding:5px 9px;cursor:pointer}.chip.active{background:var(--acc);color:#001;border-color:var(--acc)}.count{color:var(--mut);margin:6px 2px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--mut);font-weight:600;position:sticky;top:0;background:var(--bg)}tbody tr:hover{background:var(--panel)}tr.risk{background:var(--risk)}.scores{color:var(--acc);font-variant-numeric:tabular-nums}.flags{color:var(--warn);font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis}a{color:var(--acc);text-decoration:none}.bar{width:140px}.bar div{height:12px;background:var(--acc);border-radius:3px;min-width:2px}.ck{font-family:ui-monospace,monospace;font-size:12px;color:var(--mut)}.compare table{table-layout:auto}.compare th a{display:block}.compare .rl{color:var(--mut)}.compare .rm{background:none;border:none;color:var(--mut);cursor:pointer}.tab.empty{color:var(--mut);padding:40px;text-align:center}.cards{display:flex;flex-direction:column;gap:12px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card-head .addr{font-size:15px;font-weight:600}.card-head .sub{color:var(--mut);font-size:12px;margin-top:2px}.card-head .metrics{text-align:right}.card-head .yield{font-size:22px;font-weight:700;color:#5fd38a}.card-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:10px 0;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.card-row .buy b{font-size:15px}.card-row .rent-sum{color:var(--mut)}.card-row .rent-sum b{color:var(--txt)}table.rent-comps{width:auto;min-width:560px}table.rent-comps th,table.rent-comps td{padding:4px 10px;border-bottom:1px solid var(--line)}tr.inactive{opacity:.55}.badge{padding:1px 7px;border-radius:10px;font-size:11px}.badge.ok{background:#163a26;color:#5fd38a}.badge.old{background:#3a2a16;color:var(--warn)}
