/* Staff entrance and lookup. Visit and owner workflows retain their later gates. */
.is-staff{min-width:0;font-family:var(--sans);background:var(--bg)}
.is-staff .shell{padding:0 var(--space-6);margin:0 auto;border:0;min-height:100dvh}
.is-staff .topbar{min-height:76px;padding-top:env(safe-area-inset-top);border:0}
.is-staff .wordmark{font-size:1.625rem;letter-spacing:.05em;font-weight:500}
.is-staff #top-label{margin-left:auto;padding:0;border:0;font-size:var(--text-small);letter-spacing:0;color:var(--muted)}
.is-staff input:not([type=checkbox]):not([type=radio]){border-radius:var(--radius-control)}
.is-staff .service{padding-top:var(--space-3);padding-bottom:calc(12rem + env(safe-area-inset-bottom))}
.is-staff .service-heading h1{line-height:1.2;letter-spacing:-.035em;font-weight:600}
.is-staff .staff-name{border:0;font-size:var(--text-small);color:var(--muted);overflow-wrap:break-word}
.is-staff .scan{justify-content:center;min-height:80px;font-size:var(--text-section)}
.is-staff .search-label input{margin-top:14px}
.is-staff .service-empty{display:block;padding:28px 0;margin:0;font-size:var(--text-body);line-height:1.5;color:var(--muted)}
.is-staff .search-result{flex-wrap:wrap}
.is-staff .search-result strong{font-size:var(--text-body);font-weight:500;overflow-wrap:break-word}
.is-staff .search-result span{font-size:var(--text-small)}
.is-staff .service-bottom{padding-left:var(--space-6);padding-right:var(--space-6);border-left:0;border-right:0}
.is-staff .service-bottom nav a{font-size:var(--text-small);letter-spacing:0;min-height:48px}
.is-staff .staff-login{padding:36px 0}
.is-staff .staff-login h1{font-size:var(--text-title);line-height:1.2;letter-spacing:-.035em;font-weight:600}
.is-staff .staff-login p{font-size:var(--text-body);color:var(--muted);margin:var(--space-4) 0 28px}
.is-staff dialog{border-radius:var(--radius-card);padding:28px var(--space-6)}
.is-staff dialog h2{font-size:var(--text-heading);font-weight:600;line-height:1.3;letter-spacing:-.025em;padding-right:28px;margin:0 0 var(--space-5)}
.is-staff dialog video{border-radius:var(--radius-control)}
.is-staff dialog p{font-size:var(--text-body);overflow-wrap:break-word}
.is-staff .connection,.is-staff .pending{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink)}
.is-staff .pending button{border-color:var(--line);border-radius:10px}
.is-staff .text-link{font-size:var(--text-small);letter-spacing:0}
@media(max-width:360px){.is-staff .shell{padding:0 var(--space-5)}
.is-staff .service-bottom{padding-left:var(--space-5);padding-right:var(--space-5)}
}
/* Checkpoint 6: fast table controls and persistent, short Undo confirmation. */.is-staff .staff-member h2{font-weight:600;letter-spacing:-.025em;line-height:1.3}
.is-staff .staff-progress{flex-wrap:wrap;margin:14px 0 var(--space-2)}
.is-staff .staff-progress > span{font-size:var(--text-small);letter-spacing:0;font-weight:500}
.is-staff .tonight-label{flex-wrap:wrap}
.is-staff .tonight-label .eyebrow,.is-staff .tonight-label > span:last-child{font-size:var(--text-small);letter-spacing:0}
.is-staff .tag{line-height:1.3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.is-staff .tag small{line-height:1.2}
.is-staff .tag.selected small{color:var(--black)}
.is-staff .staff-rewards > summary,.is-staff .member-help > summary{font-size:var(--text-small);letter-spacing:0}
.is-staff .day-review{margin:var(--space-3) 0;padding:var(--space-3);border:1px solid var(--orange);border-radius:var(--radius-control)}
.is-staff .day-review p{font-size:var(--text-small);margin-bottom:var(--space-3)}
.is-staff .visit-receipt{align-items:center;justify-content:space-between}
.is-staff .visit-receipt p{flex:1}
.is-staff .visit-receipt button{min-height:48px;padding:var(--space-3);font-size:var(--text-body)}
.is-staff .service:has(.staff-member) .scan{min-height:56px}
