/* Worker view (/) — layout only; colours, controls and the report come from shared.css. */
.portal{min-height:100vh}
.topnav{position:sticky;top:0;z-index:50;background:rgba(20,23,32,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--br)}
.topnav-inner{max-width:920px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:18px}
.topnav .brand{padding:0}
.topnav-right{display:flex;align-items:center;gap:8px;margin-left:auto}
.tabs{display:flex;gap:2px}
.tab{padding:8px 13px;border-radius:var(--rs);background:none;color:var(--t2);font-size:14px;font-weight:500;transition:background .13s,color .13s}
.tab:hover{background:var(--s2);color:var(--t1)}
.tab.active{background:var(--ad);color:var(--a)}

.portal-main{max-width:920px;margin:0 auto;padding:26px 20px 60px}

.vcard{display:flex;align-items:flex-start;gap:12px;background:var(--s2);border:1px solid var(--br);border-radius:var(--r);padding:14px 16px;cursor:pointer;transition:border-color .13s}
.vcard:hover{border-color:var(--br2)}
.vcard-ico{width:38px;height:38px;border-radius:10px;background:var(--okd);color:var(--ok);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700}
.vcard-title{font-size:14.5px;font-weight:600}
.vcard-meta{font-size:12.5px;color:var(--t2);margin-top:2px}
.vcard-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.list{display:flex;flex-direction:column;gap:10px}

.acct{max-width:440px}

/* ── visit in progress ── */
.tab{position:relative}
.tab-dot{position:absolute;top:6px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--err)}
.live-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.live-time{font-size:30px;font-weight:700;color:var(--a);letter-spacing:.5px;line-height:1.1}
.brief{background:var(--ad);border:1px solid rgba(245,158,11,.28);border-radius:var(--rs);padding:11px 13px;font-size:13.5px;line-height:1.5;white-space:pre-wrap}
.brief-h{font-size:12px;font-weight:600;color:var(--a);margin-bottom:4px}
.sec{margin-top:14px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.pthumb{position:relative;aspect-ratio:4/3;border-radius:var(--rs);overflow:hidden;background:var(--s3);border:1px solid var(--br)}
.pthumb img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}
.pthumb .gtool{position:absolute;top:5px;right:5px}
.padd{aspect-ratio:4/3;border-radius:var(--rs);border:1.5px dashed var(--br2);background:var(--s1);color:var(--t3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;cursor:pointer;transition:border-color .13s,color .13s}
.padd:hover{border-color:var(--a);color:var(--a)}
.padd.busy{pointer-events:none;opacity:.6}
.item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--br);font-size:13.5px}
.item:last-child{border-bottom:none}
.item .grow{flex:1;min-width:0}
.chk{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--br2);background:none;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;flex-shrink:0}
.chk.on{background:var(--ok);border-color:var(--ok)}
.x{background:none;color:var(--t3);font-size:17px;padding:0 4px}
.x:hover{color:var(--err)}
.live-foot{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;margin-top:18px}

/* ── new visit: group → store ── */
.chain-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:10px}
.chain-tile{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px;border-radius:var(--r);background:var(--s2);border:1px solid var(--br);text-align:left;transition:border-color .13s,background .13s}
.chain-tile:hover{border-color:var(--br2)}
.chain-tile.active{background:var(--ad);border-color:var(--a);color:var(--a)}
.chain-name{font-size:15px;font-weight:600}
.chain-count{font-size:12px;color:var(--t2)}
.store-list{display:flex;flex-direction:column;margin-top:10px;background:var(--s2);border:1px solid var(--br);border-radius:var(--r);overflow:hidden}
.store-hint{padding:26px 16px;text-align:center;font-size:13px;color:var(--t2)}
.store-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:46px;padding:11px 14px;background:none;border-bottom:1px solid var(--br);text-align:left;font-size:14px}
.store-row:last-child{border-bottom:none}
.store-row:hover{background:rgba(255,255,255,.03)}
.store-row.on{background:var(--ad);color:var(--a);font-weight:600}
.store-row-name{min-width:0}
.store-row-code{flex-shrink:0;font-size:12px;color:var(--t2)}
.checkin-bar{position:sticky;bottom:0;padding:12px 0;background:linear-gradient(transparent,var(--bg) 30%)}
.checkin-bar .btn{white-space:normal}

@media (max-width:640px){
  .topnav-inner{flex-wrap:wrap;gap:10px;padding:10px 14px}
  .tabs{order:3;width:100%;overflow-x:auto}
  .tab{flex:1;white-space:nowrap}
  #logoutBtn{padding:7px 10px}
  .portal-main{padding:18px 14px 50px}
  .chain-grid{grid-template-columns:1fr 1fr}
}
