/* Login bar + form controls shared by TemuTemu pages */
.presence { font-size:13px; color:var(--muted); margin:-14px 0 20px; display:flex; align-items:center; gap:6px; }
.presence .dot { width:8px; height:8px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 3px rgba(34,197,94,.2); flex:none; }
.presence .dot.off { background:var(--line); box-shadow:none; }
.bar { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; font-size:14px; color:var(--muted); padding:10px 0; border-bottom:1px solid var(--line); margin-bottom:24px; min-height:44px; }
.bar b { color:var(--fg); }
.login { display:flex; flex-wrap:wrap; gap:6px; align-items:center; width:100%; }
.login select, .login input { flex:1 1 120px; min-width:0; }
select, input, .btn, .login button { font:inherit; font-size:14px; padding:7px 10px; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--fg); }
.login button, .btn.primary { background:var(--fg); color:var(--bg); border-color:var(--fg); cursor:pointer; }
.btn { cursor:pointer; }
.btn:disabled { opacity:.5; cursor:default; }
.linkbtn { font:inherit; font-size:14px; background:none; border:0; padding:0; color:var(--muted); text-decoration:underline; cursor:pointer; }
.err { color:#dc2626; font-size:13px; width:100%; }
.err:empty { display:none; }
