/* Home component styles copied from Torque App/public/index.html; Covi palette substitutions only. */
  .hv-wrap{max-width:1120px;margin:0 auto;padding:56px 24px 72px}
  .hv-hello{font-size:25px;font-weight:600;color:#1b2a30;text-align:center;margin:0 0 7px;letter-spacing:-.02em}
  .hv-sub{font-size:14px;color:#8a96a0;text-align:center;margin:0 0 38px}
  .hv-greet{position:relative;border-radius:16px;overflow:hidden;padding:24px 28px;min-height:158px;margin:0 0 28px;color:#fff;box-shadow:0 12px 30px rgba(38,40,92,.22);background:linear-gradient(125deg,#625fff 0%,#343b86 56%,#171e43 100%)}
  .hv-greet.has-media .hg-sky{display:none}
  .hv-greet .hg-media{position:absolute;inset:0;z-index:0;overflow:hidden}
  .hv-greet .hg-media img,.hv-greet .hg-media video{width:100%;height:100%;object-fit:cover;object-position:82% 40%;display:block}
  .hv-greet .hg-tint{position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,#625fff 0%,#0d6156 22%,#343b86 40%,#083d35 54%,#171e43 62%,rgba(6,45,38,.88) 69%,rgba(6,45,38,.5) 79%,rgba(6,45,38,.12) 90%,rgba(6,45,38,0) 100%)}
  .hv-greet.has-media>*:not(.hg-media):not(.hg-tint){position:relative;z-index:2}
  .hv-greet .hg-swap{position:absolute;right:14px;bottom:12px;z-index:3;display:flex;gap:6px}
  .hv-greet .hg-swap button{width:22px;height:22px;border-radius:999px;border:1.5px solid rgba(255,255,255,.5);background:rgba(255,255,255,.14);color:#eafff9;font-size:10px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:.15s;font-family:inherit}
  .hv-greet .hg-swap button:hover{background:rgba(255,255,255,.3)}
  .hv-greet .hg-swap button.on{background:#fff;color:#343b86;border-color:#fff}
  .hv-greet::before,.hv-greet::after{display:none}
  .hv-greet .hg-sky{position:absolute;right:0;left:0;bottom:0;height:100%;z-index:1;pointer-events:none}
  .hv-greet .hg-sky svg{position:absolute;bottom:-8px;right:0;left:auto;width:auto;height:108%;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 38%);mask-image:linear-gradient(to right,transparent 0,#000 38%)}
  .hv-greet .hg-in{position:relative;z-index:3}
  .hv-greet .hg-eyebrow{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.62)}
  .hv-greet .hg-greet{font-size:25px;font-weight:800;letter-spacing:-.02em;margin:4px 0 0;color:#fff}
  .hv-greet .hg-sub{font-size:13.5px;color:rgba(255,255,255,.82);margin-top:6px;max-width:440px;line-height:1.5}
  .hv-greet .hg-tier{display:inline-flex;align-items:center;gap:9px;border-radius:999px;padding:5px 10px 5px 6px;margin-top:16px;background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;font-family:inherit;transition:background .15s,box-shadow .15s}
  .hv-greet .hg-tier:hover{background:rgba(255,255,255,.82);box-shadow:0 4px 14px rgba(38,40,92,.18)}
  .hv-greet .hg-arr{display:inline-flex;align-items:center;width:0;opacity:0;overflow:hidden;color:#33424b;margin-left:-3px;transition:width .18s ease,opacity .18s ease,margin .18s ease}
  .hv-greet .hg-arr svg{width:15px;height:15px;flex:none}
  .hv-greet .hg-tier:hover .hg-arr{width:16px;opacity:1;margin-left:1px}
  .hv-greet .hg-rg{width:24px;height:24px;flex:none}
  .hv-greet .hg-rt{fill:none;stroke:#dfe7e4;stroke-width:4}
  .hv-greet .hg-rp{fill:none;stroke-width:4;stroke-linecap:round;stroke-dasharray:94.25}
  .hv-greet .hg-tier.asr .hg-rp{stroke:#111827}.hv-greet .hg-tier.mgd .hg-rp{stroke:#625fff}.hv-greet .hg-tier.ess .hg-rp{stroke:#34b0a1}
  .hv-greet .hg-tier.mbr .hg-rp{stroke:#293548}
  .hv-greet .hg-tier.mbr .hg-mic{width:24px;height:24px;border-radius:50%;background:#293548;color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
  .hv-greet .hg-ptag.mbr{background:#293548;color:#fff}
  .hv-greet .hg-pdays{font-size:12px;font-weight:700;color:#33424b;padding-left:1px}
  .hv-greet .hg-ptag{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:4px 10px}
  .hv-greet .hg-ptag.asr{background:#111827;color:#f0d48a}.hv-greet .hg-ptag.mgd{background:#625fff;color:#fff}.hv-greet .hg-ptag.ess{background:#e6f1ee;color:#0b5f57;box-shadow:inset 0 0 0 1px rgba(98,95,255,.22)}
  .hv-greet .hg-ptag.adm{background:#1f2937;color:#fff}
  .hv-greet .hg-tier.hg-admin .hg-ash{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#1f2937;color:#fff;flex:none}
  .hv-greet .hg-tier.hg-admin .hg-ash svg{width:13px;height:13px}
  @media(max-width:640px){
    .hv-greet .hg-sky svg{height:88%;right:-8px;bottom:-6px;opacity:.62;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 56%);mask-image:linear-gradient(to right,transparent 0,#000 56%)}
  }
  @media(max-width:620px){
    .hv-wrap{padding-top:26px}
    .hv-greet{border-radius:12px;padding:22px 20px;margin-bottom:22px}
    .hv-greet .hg-greet{font-size:22px}
  }
  .hv-access{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #edf0f2;border-radius:12px;padding:13px 18px;margin-bottom:32px}
  .hv-access .ac-ic{flex:none;width:34px;height:34px;border-radius:9px;background:#edf6f3;color:#625fff;display:flex;align-items:center;justify-content:center}
  .hv-access .ac-tx{flex:1;font-size:13px;color:#46555d}
  .hv-access .ac-link{border:0;background:transparent;color:#625fff;font-size:12.5px;font-weight:600;cursor:pointer;padding:6px 2px}
  .hv-access .ac-link:hover{text-decoration:underline}
  .hv-seclabel{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#9aa6ad;font-weight:600;margin:0 2px 12px}
  /* dashboard activity boxes (shortlist + recent reports) */
  .hv-activity{display:flex;flex-direction:column;gap:12px}
  .act-card{background:#fff;border:1px solid #edf0f2;border-radius:13px;padding:15px 16px}
  .act-h{display:flex;align-items:center;gap:10px;margin-bottom:8px}
  .act-h .act-ico{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:none}
  .act-h .act-ico svg{width:18px;height:18px}
  .act-ico.star{background:#fff7e6;color:#d9a300}
  .act-ico.rep{background:#f3ecfd;color:#7c3aed}
  .act-h .act-t{font-size:13.5px;font-weight:700}
  .act-count{font-size:11px;font-weight:800;color:#5b6b73;background:#eef1f4;border-radius:999px;padding:2px 9px}
  .act-h .sp{flex:1}
  .act-link{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:var(--teal);text-decoration:none;cursor:pointer;background:none;border:0;padding:0}
  .act-link svg{width:13px;height:13px}
  .sl-row{display:flex;align-items:center;gap:11px;padding:9px 8px;cursor:pointer;transition:background .12s}
  /* shortlist/report rows: no hover tint — buttons carry their own hover */
  .sl-ph{width:40px;height:40px;border-radius:8px;flex:none;background:#e7eef0;background-size:cover;background-position:center}
  .sl-tx{min-width:0;flex:1}
  .sl-ti{font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .sl-su{font-size:10.5px;color:var(--mut);margin-top:1px}
  .sl-rt{text-align:right;flex:none}
  .sl-rt .r{font-size:12.5px;font-weight:800}
  .sl-rt .pr{font-size:10px;color:var(--mut)}
  .sl-acts{display:flex;align-items:center;gap:6px;flex:none}
  .sl-ib{width:34px;height:34px;border-radius:50%;border:0;background:#f0f3f5;color:#8a97a3;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:background .16s ease,color .16s ease}
  .sl-ib svg{width:16px;height:16px;transition:transform .16s ease}
  .sl-ib:hover{background:#eeecff;color:#625fff}
  .sl-ib.view{color:#8a97a3;background:#f0f3f5}
  .sl-ib.view:hover{background:#eeecff;color:#625fff}
  .sl-ib.view svg{transition:transform .16s cubic-bezier(.34,1.56,.64,1)}
  .sl-ib.view:hover svg{transform:translate(1px,-1px) scale(1.12)}
  .sl-ib:hover svg{transform:translateX(2.5px)}
  .sl-ib:hover .ndl{transform:translateY(2px)}
  .rhx-doc .dlb{width:34px;height:34px;border-radius:50%;border:0;background:#f0f3f5;color:#8a97a3;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:background .16s ease,color .16s ease;margin-left:9px;text-decoration:none}
  .rhx-doc .dlb svg{width:16px;height:16px;transition:transform .16s ease}
  .rhx-doc .dlb:hover{background:#eeecff;color:#625fff}
  .rhx-doc .dlb:hover svg{transform:translateY(2px)}
  .sl-empty{font-size:12px;color:var(--mut);padding:20px 10px;line-height:1.5;text-align:center}
  .sl-emptyic{width:38px;height:38px;border-radius:50%;background:#f4f6f8;color:#b6c0c8;display:flex;align-items:center;justify-content:center;margin:0 auto 9px}
  .sl-emptyic svg{width:19px;height:19px}
  /* sublease search — live map hero, tilted (Apple-Maps style) */
  .hv-banner.locked .bglass{position:absolute;inset:0;z-index:2;pointer-events:none;background:rgba(232,240,240,.34);-webkit-backdrop-filter:saturate(115%) blur(7px);backdrop-filter:saturate(115%) blur(7px)}
  .hv-banner .bglass{display:none}
  .hv-banner.locked .bglass{display:block}
  .hv-banner.locked .bb{background:#625fff}
  .hv-banner.locked:hover .bb{background:#514de2}
  .hv-banner.locked .bblock{display:inline-flex;align-items:center;gap:6px}
  .hv-banner{position:relative;display:flex;align-items:center;border:1px solid #d7e0e3;border-radius:16px;overflow:hidden;margin-bottom:12px;cursor:pointer;min-height:210px;background:#e9eef0;transition:border-color .15s ease}
  .hv-banner:hover{border-color:#bcd5d0}
  .hv-banner .bmap,.hv-banner .bpulse{transform:perspective(1000px) rotateX(40deg) scale(1.44);transform-origin:center 86%}
  .hv-banner .bmap{position:absolute;inset:0;z-index:0;pointer-events:none}
  .hv-banner .bmap #heroMap{width:100%;height:100%}
  .hv-banner .bfade{position:absolute;left:0;right:0;top:0;height:42%;z-index:1;pointer-events:none;background:linear-gradient(to bottom,#e9eef0 0%,rgba(233,238,240,.55) 36%,rgba(233,238,240,0) 100%)}
  .hv-banner .bpulse{position:absolute;inset:0;z-index:2;pointer-events:none}
  .hv-banner .bspot{position:absolute;width:11px;height:11px;margin:-5.5px 0 0 -5.5px}
  .hv-banner .bspot .pdot{position:absolute;inset:0;border-radius:50%;background:#625fff;box-shadow:0 0 0 2px rgba(255,255,255,.95)}
  .hv-banner .bspot .pring{position:absolute;inset:0;border-radius:50%;background:rgba(98,95,255,.34);animation:heroPing 4.4s ease-out infinite}
  @keyframes heroPing{0%{transform:scale(1);opacity:.5}80%,100%{transform:scale(6.5);opacity:0}}
  .hv-banner .s1{left:54%;top:52%}
  .hv-banner .s2{left:72%;top:55%}
  .hv-banner .s3{left:58%;top:67%}
  .hv-banner .s4{left:76%;top:66%}
  .hv-banner .s2 .pring{animation-delay:1.1s}
  .hv-banner .s3 .pring{animation-delay:2.2s}
  .hv-banner .s4 .pring{animation-delay:3.3s}
  .hv-banner .s2 .pdot,.hv-banner .s4 .pdot{background:#8d7de5}                 /* lighter walk-green (matches search pins) */
  .hv-banner .s2 .pring,.hv-banner .s4 .pring{background:rgba(141,125,229,.32)}
  .hv-banner .btext{position:relative;z-index:3;margin:20px;padding:18px 19px;max-width:330px;background:rgba(255,255,255,.58);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);border:1px solid rgba(255,255,255,.72);border-radius:14px;box-shadow:0 14px 32px rgba(40,45,90,.18);pointer-events:none;transition:box-shadow .18s ease,transform .18s ease}
  .hv-banner:hover .btext{box-shadow:0 22px 46px rgba(40,45,90,.28);transform:translateY(-3px)}
  .hv-banner .bt{font-size:18px;font-weight:800;letter-spacing:-.01em}
  .hv-banner .bd{font-size:12.5px;color:#3e4d54;line-height:1.5;margin:6px 0 13px}
  .hv-banner .bb{display:inline-flex;align-items:center;gap:7px;background:#625fff;color:#fff;font-size:13px;font-weight:800;border-radius:999px;padding:10px 18px;box-shadow:0 4px 12px rgba(98,95,255,.32);transition:background .15s ease,padding .2s ease}
  .hv-banner .bb svg{width:15px;height:15px}
  .hv-banner .bb .bba{display:inline-flex;align-items:center}
  .hv-banner .bb .bba svg{width:16px;height:16px;flex:none}
  .hv-banner:hover .bb{background:#514de2}
  .hv-banner:hover .bb .bba{transform:translateX(3px)}
  .hv-banner:hover .bb > svg{transform:scale(1.16)}
  @media(max-width:560px){
    .hv-banner{flex-direction:column;justify-content:flex-end;min-height:330px}
    .hv-banner .bmap,.hv-banner .bpulse{transform:perspective(820px) rotateX(37deg) scale(1.5);transform-origin:center 80%}   /* 3D tilt on mobile */
    .hv-banner .bfade{display:block;top:0;height:50%}
    .hv-banner .bpulse{top:0;bottom:0;height:auto}
    .hv-banner .btext{margin:12px;max-width:none;width:calc(100% - 24px)}
    .hv-banner .s1{left:30%;top:40%}.hv-banner .s2{left:60%;top:46%}.hv-banner .s3{left:45%;top:53%}.hv-banner .s4{left:72%;top:39%;display:block}
  }
  .act-viewmore{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--teal);background:none;border:0;width:100%;padding:11px 0 2px;margin-top:2px;border-top:1px solid #eef1f5;cursor:pointer}
  .act-viewmore svg{width:13px;height:13px;transition:transform .15s ease}
  .act-viewmore:hover svg{transform:translateX(4px)}
  @media(max-width:620px){.sl-rt{display:none}}
  /* grey hairline divider between each shortlist & report row */
  #slList .sl-row,#repList .sl-row{cursor:pointer}
  #slList .sl-row+.sl-row,#repList .sl-row+.sl-row{border-top:1px solid #edf1f4}
  #repList{max-height:236px;overflow-y:auto;overflow-x:hidden}
  /* "View all reports" lives in #repMore, a sibling BELOW the scroll container
     (Taqi, 31 Aug) — pinned like the shortlist's, and the scrollbar track ends
     above it instead of running behind a sticky row. */
  #repList::-webkit-scrollbar{width:6px}
  #repList::-webkit-scrollbar-thumb{background:#d4dde2;border-radius:99px}
  #repList::-webkit-scrollbar-track{background:transparent}
  .hv-row{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #edf0f2;border-radius:13px;padding:18px 20px;margin-bottom:12px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}
  .hv-row:hover{border-color:#d9d4ff;box-shadow:0 6px 20px rgba(40,45,90,.06)}
  .hv-row .ico{flex:none;width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center}
  .hv-row .tx{flex:1;min-width:0}
  .hv-row .t{font-size:15px;font-weight:600;color:#1b2a30}
  .hv-row .d{font-size:12.5px;color:#8a96a0;margin-top:2px;line-height:1.45}
  .hv-row .go{flex:none;font-size:13px;font-weight:600;border-radius:9px;padding:9px 17px;white-space:nowrap}
  .hv-row .go.pri{background:#625fff;color:#fff;border-radius:999px}
  .hv-row:hover .go.pri{background:#514de2}
  .hv-row .go.sec{background:#fff;border:1px solid #e4e8ec;color:#625fff}
  .hv-row:hover .go.sec{background:#f3f8f7}
  @media(max-width:620px){.hv-nav{display:none}.hv-row{flex-wrap:wrap}.hv-row .go{width:100%;text-align:center}}
