/* 审批沿设备卡原边框流动；选中时仍只有这一圈边框。 */
#thermal-dots .device-preview.device-selected{border-color:#65d7e8!important;box-shadow:inset 0 0 0 1px #65d7e855,0 0 9px #65d7e824}
#thermal-dots .device-preview.device-awaiting-approval,
#thermal-dots .device-preview.device-awaiting-approval.device-selected{
  position:relative;
  border:1px solid #d8ab58!important;
  outline:none!important;
  background:#0a1d2d!important;
  box-shadow:0 0 8px #d8a64530!important;
}
#thermal-dots .device-preview.device-awaiting-approval::before{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  pointer-events:none;
  background:linear-gradient(105deg,#b87925,#ffe5a8,#d69b3a,#ffe5a8,#b87925);
  background-size:220% 100%;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask-composite:exclude;
  animation:device-approval-flow 3.6s linear infinite,device-approval-breathe 2.4s ease-in-out infinite;
}
@keyframes device-approval-flow{from{background-position:0% 0}to{background-position:100% 0}}
@keyframes device-approval-breathe{0%,100%{filter:drop-shadow(0 0 2px #d8a64555)}50%{filter:drop-shadow(0 0 7px #ffd783bb)}}
@media(prefers-reduced-motion:reduce){#thermal-dots .device-preview.device-awaiting-approval::before{animation:none}}
