/* Team presence, shared cursors, "working on" markers and the sign-in page. */
.top-live{margin-left:auto;display:flex;align-items:center;gap:14px;min-width:0}
.presence{display:flex;align-items:center;gap:8px;min-width:0}
.person{display:flex;align-items:center;gap:9px;max-width:270px;min-width:0;padding:4px 13px 4px 4px;border:1px solid var(--line);border-radius:24px;background:#fff}
.person-avatar{position:relative;display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--user);color:#fff;font-size:12px;font-weight:700;letter-spacing:.3px}
.person-avatar i{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:#98a2b3}
.person.online .person-avatar i{background:#12b76a}
.person.offline .person-avatar{background:color-mix(in srgb,var(--user) 35%,#c5ccd3)}
.person-text{display:flex;flex-direction:column;min-width:0;line-height:16px}
.person-text b{font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.person-text em{font-style:normal;font-weight:400;color:var(--muted)}
.person-text small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.person.online .person-text small{color:#067647}
.logout-form{margin:0;flex:none}
.logout-button{height:36px;padding:0 14px;border:1px solid #cbd8de;border-radius:6px;background:#fff;color:#30475a;font-size:13px}
.logout-button:hover{background:#f3faf7}

.col-store{width:22%}.col-contact{width:18.5%}.col-fit{width:6.5%}.col-cod{width:9.5%}.col-activity{width:14.5%}.col-working{width:12%}.col-outcome{width:17%}
.working-cell{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.work-button{display:inline-flex;align-items:center;gap:7px;height:30px;max-width:100%;padding:0 12px;border:1px solid #c9d7de;border-radius:15px;background:#fff;color:#2f4a5c;font-size:11px;font-weight:600;white-space:nowrap}
.work-button:hover{border-color:#008864;background:#f3fcf8}
.work-button.active{border-color:#055845;background:#055845;color:#fff}
.work-button.active:hover{background:#00694f}
.work-button i{flex:none;width:7px;height:7px;border-radius:50%;background:#7ef0c4;animation:work-pulse 1.4s ease-in-out infinite}
.worker-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;height:22px;padding:0 9px 0 4px;border-radius:11px;background:color-mix(in srgb,var(--user) 13%,#fff);color:color-mix(in srgb,var(--user) 75%,#000);font-size:11px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.worker-chip i{flex:none;width:14px;height:14px;border-radius:50%;background:var(--user);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--user) 35%,#fff)}
.worker-chip.offline{filter:grayscale(.8);opacity:.75}
tbody tr.has-worker td:first-child{box-shadow:inset 4px 0 0 var(--worker)}
.work-panel{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}
.work-panel .work-button{height:36px;padding:0 15px;font-size:12px}
.work-note{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:#4b5d6b}
@keyframes work-pulse{50%{opacity:.35}}

#cursor-layer{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;overflow:hidden;pointer-events:none;z-index:2147483000}
.remote-cursor{position:absolute;left:0;top:0;pointer-events:none;opacity:.6;transition:transform .1s linear,opacity .2s;will-change:transform}
.remote-cursor.elsewhere{opacity:.3}
.remote-cursor svg{display:block;width:22px;height:22px;fill:var(--user);stroke:#fff;stroke-width:1.6;filter:drop-shadow(0 1px 2px #0004)}
.remote-cursor span{position:absolute;left:17px;top:19px;padding:3px 8px;border-radius:10px;background:var(--user);color:#fff;font-size:11px;font-weight:600;line-height:15px;white-space:nowrap;box-shadow:0 2px 6px #0002}

.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:400px;max-width:100%;display:flex;flex-direction:column;padding:34px 32px 30px}
.login-brand{margin-bottom:26px;color:#00513f;font-size:22px;font-weight:750;letter-spacing:-.6px}
.login-card h1{font-size:24px;font-weight:700;letter-spacing:-.4px}
.login-intro{margin:6px 0 18px;color:#5c6981;font-size:14px;line-height:20px}
.login-card label{margin:14px 0 7px;font-size:13px;font-weight:500}
.login-card input{height:44px;padding:0 14px;font-size:14px}
.login-card .primary{margin-top:26px;height:48px;font-size:15px}
.login-error{padding:10px 12px;border:1px solid #ffd2d8;border-radius:6px;background:#fff1f2;color:#b42335;font-size:13px}

@media(max-width:1199px){.person{padding-right:4px}.person-text{display:none}}
@media(max-width:760px){.top-live{gap:8px}.presence{gap:4px}.person-avatar{width:28px;height:28px;font-size:11px}.logout-button{height:32px;padding:0 10px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.remote-cursor{transition:none}.work-button i{animation:none}}

/* Where searches run when the server hands them to the PC search helper. */
.helper-status{display:flex;align-items:center;gap:7px;margin-top:6px;font-size:12px;line-height:16px;color:#8a6116}
.helper-status i{flex:none;width:8px;height:8px;border-radius:50%;background:#e0a82e}
.helper-status.online{color:#067647}
.helper-status.online i{background:#12b76a}
