/* HomeCall – customer account (design 11–16) and the sign-in pages (design 10). base.css tokens only, light + dark. */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.acc dl.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;font-size:.92rem}
.acc dl.kv dd{text-align:right;font-weight:600}
.acc .tbl tr.is-on td{background:var(--pri-soft)}
.acc .empty .ic{width:34px;height:34px;margin:0 auto 10px;color:var(--line-2)}
.acc .empty h3{color:var(--ink);font-size:1.02rem}.acc .empty p{margin-top:4px}
.acc .empty .row{margin-top:14px}

/* pagination (vendor/pagination/homecall) */
.acc .pager{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.acc .pager a,.acc .pager span{display:inline-grid;place-items:center;min-width:36px;height:36px;padding:0 10px;border-radius:10px;font-weight:600;font-size:.88rem;color:var(--ink-2)}
.acc .pager a:hover{background:var(--surface-3)}.acc .pager a.on{background:var(--pri);color:var(--pri-ink)}.acc .pager .off{opacity:.45}

/* booking detail (design 12) */
.trk-card{overflow:hidden}
.trk-card.is-live{border-color:var(--pri)}
.trk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:14px 18px;background:var(--pri);color:var(--pri-ink)}
.trk-bar b{font-size:1.05rem}.trk-bar .dot{color:var(--amb)}
.trk-eta{font-size:1.4rem;font-weight:800}
.trk-at{opacity:.85}
.trk .map.live-map>.attr{display:none}
.chat-f{gap:8px}.chat-f .inp{flex:1;min-width:0}
.chat .msg{display:block;margin:0;max-width:82%;padding:10px 14px;border-radius:16px;font-size:.92rem;line-height:1.5;overflow-wrap:anywhere;background:var(--surface-3);color:var(--ink)} /* the design's chat bubble + long words wrap */
.chat .msg.me{align-self:flex-end;background:var(--pri);color:var(--pri-ink)}
.chat .msg small{display:block;margin-top:3px}
.series-acts form{margin:0}
.rv-reply{margin-top:6px;padding-left:10px;border-left:2px solid var(--line)}

/* invoices (design 13) */
.inv .brand{min-height:40px}
.inv-bal{border-top:2px solid var(--ink);padding-top:10px;font-size:1.15rem}
.inv-f{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);gap:10px}
.inv .inv-h>div{min-width:0}

/* quotes (design 14) */
.qopt{cursor:pointer;align-items:center;min-height:auto}
.qopt.on{border-color:var(--pri);background:var(--pri-soft)}
.qopt input{accent-color:var(--pri);width:18px;height:18px;flex:none}
.qreq .card-h{flex-wrap:wrap;gap:8px}
@media (max-width:640px){.qgrid{grid-template-columns:minmax(0,1fr)!important}}

/* reviews (design 15) */
.rv-thumbs .ph,.rv-thumbs .rv-add{width:84px;height:84px;border-radius:12px}
.rv-thumbs .ph{overflow:hidden}.rv-thumbs .ph img{width:100%;height:100%;object-fit:cover}
.rv-add{padding:6px;justify-content:center;cursor:pointer}
.tagpick button input{display:none}

/* addresses (design 16) */
.addr .mm{border:1px solid var(--line);background:var(--map-land)}
.addr .mm.live-map>svg{display:none}
.addr .row{flex-wrap:wrap}
.addr form{margin:0}
.addr-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--amb-soft);color:var(--amb-deep);flex:none}
.fg3{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.8fr);gap:12px}
@media (max-width:640px){.fg3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fg3>label:first-child{grid-column:1/-1}}

/* profile + notifications */
.nt-row{align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}.nt-row:first-child{border-top:0}
.nt-row .sw-t{margin-top:2px}

/* dialogs (x-modal) */
dialog.dlg{border:0;padding:22px;border-radius:var(--r-lg);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-2);width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}
dialog.dlg::backdrop{background:color-mix(in srgb,var(--navy) 60%,transparent)}
dialog.dlg .between{justify-content:space-between}
dialog.dlg .dlg-b{margin-top:14px}
dialog.dlg h3{font-size:1.1rem}
dialog.dlg select.inp{width:100%}

/* sign in (design 10) */
.auth-h{margin-top:40px;font-size:clamp(1.9rem,3vw,2.5rem)}
.auth-seg a{min-height:40px;display:inline-flex;align-items:center}
.auth-f .btn.block{width:100%}
.si-q .row{gap:10px}

/* phones */
@media (max-width:640px){
  .trk{padding:12px!important}.trk .map{min-height:300px!important}
  .trk-eta{font-size:1.2rem}
  .inv-f .btn{flex:1 1 auto;justify-content:center}
  .inv .inv-h>div:last-child{text-align:left!important}
  .ph-h .acts2 .btn{flex:0 0 auto}
}
@media print{
  .hdr,.topline,.ftr,.acc-nav,.ph-h,.acc .card:not(.inv),.inv-f,.pwa-b,.cookie,.demo-ribbon{display:none!important}
  .acc{display:block;padding:0}.inv{box-shadow:none;border:0}
}
.rv-split{align-items:start}
.acc .tbl-w{position:relative} /* keeps the visually hidden header labels inside the scrolling table */
