.pii-protected,
.pii-protected * {
    -webkit-user-select: none;
    -moz-user-select:    none;
    -ms-user-select:     none;
    user-select:         none;
}

.pii-protected input,
.pii-protected textarea,
.pii-protected select {
    -webkit-user-select: text;
    -moz-user-select:    text;
    -ms-user-select:     text;
    user-select:         text;
}

.pii-no-copy {
    -webkit-user-select: none !important;
    -moz-user-select:    none !important;
    -ms-user-select:     none !important;
    user-select:         none !important;
}
.pii-no-copy::after {
    content: attr(data-v);
}
td .pii-no-copy,
.L-grid-cell .pii-no-copy,
.L-grid-cell-inner .pii-no-copy {
    -webkit-user-select: none !important;
    -moz-user-select:    none !important;
    -ms-user-select:     none !important;
    user-select:         none !important;
}

.pii-copy-btn {
    display:        inline-block;
    margin-left:    4px;
    padding:        1px 5px;
    font-size:      12px;
    cursor:         pointer;
    border:         1px solid #b0b0b0;
    border-radius:  3px;
    background:     #f8f8f8;
    vertical-align: middle;
    color:          #444;
    line-height:    1.4;
}
.pii-copy-btn:hover  { background: #e4e4e4; border-color: #888; }
.pii-copy-btn:active { background: #d0d0d0; }

.pii-copy-toast {
    display:       inline-block;
    margin-left:   6px;
    padding:       2px 10px;
    font-size:     11px;
    color:         #fff;
    background:    #4caf50;
    border-radius: 4px;
    white-space:   nowrap;
    animation:     piiToastFade 2s ease forwards;
}
.pii-copy-toast.pii-copy-error {
    background: #f44336;
}

@keyframes piiToastFade {
    0%   { opacity: 1; }
    70%  { opacity: 1; }
    100% { opacity: 0; }
}

.pii-toast {
  background-color: white;
  border: 1px solid #000;
  border-radius: 5px;
  box-shadow: 5px 5px 5px #000;
  position: absolute;
  text-align: center;
  min-width: 200px;
  max-width: 400px;
  z-index: 99999;
}

.pii-toast-inner {
  margin: 10px;
  white-space: pre;
  color: #000;
}
