weext-input {
  position: relative;
  display: block;
}
weext-input .caption {
  position: absolute;
  top: 0;
  left: 10px;
  font-size: 80%;
  transform: translateY(-50%);
  padding: 0 0.325rem;
  opacity: 1;
  transition: opacity 0.4s;
  border: 1px solid #ddd;
  border-radius: 0.325rem;
}
weext-input .caption.hidden {
  opacity: 0;
}

.input-group weext-input {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group weext-input:not(:first-child) input {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group weext-input:not(:last-child) input {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
:root {
  --smstextbox-border-color: #ddd;
  --smstextbox-cc-background: #fff;
  --smstextbox-cc-primary: #0d6efd;
  --smstextbox-cc-secondary: #6c757d;
  --smstextbox-cc-success: #198754;
  --smstextbox-cc-info: #0dcaf0;
  --smstextbox-cc-warning: #ffc107;
  --smstextbox-cc-danger: #dc3545;
  --smstextbox-cc-light: #f8f9fa;
  --smstextbox-cc-dark: #212529;
}

weext-smstextbox {
  border: 1px solid var(--smstextbox-border-color);
  padding: 0.375rem;
  border-radius: 0.375rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
weext-smstextbox.more-lines {
  align-items: end;
}
weext-smstextbox [data-tools] {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: baseline;
}
weext-smstextbox [data-char-count].tl {
  top: 0px;
  left: 10px;
  transform: translateY(-50%);
}
weext-smstextbox [data-char-count].bl {
  bottom: 0px;
  left: 10px;
  transform: translateY(50%);
}
weext-smstextbox [data-char-count].br {
  bottom: 0px;
  right: 10px;
  transform: translateY(50%);
}
weext-smstextbox [data-char-count].tr {
  top: 0px;
  right: 10px;
  transform: translateY(-50%);
}
weext-smstextbox [data-char-count] {
  position: absolute;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  background-color: var(--smstextbox-cc-background);
  font-size: 10px;
}
weext-smstextbox [data-char-count].primary {
  color: #0d6efd;
}
weext-smstextbox [data-char-count].secondary {
  color: #6c757d;
}
weext-smstextbox [data-char-count].success {
  color: #198754;
}
weext-smstextbox [data-char-count].info {
  color: #0dcaf0;
}
weext-smstextbox [data-char-count].warning {
  color: #ffc107;
}
weext-smstextbox [data-char-count].danger {
  color: #dc3545;
}
weext-smstextbox [data-char-count].light {
  color: #f8f9fa;
}
weext-smstextbox [data-char-count].dark {
  color: #212529;
}
weext-smstextbox [data-actions].tl {
  top: 0px;
  left: 10px;
  transform: translateY(-100%);
}
weext-smstextbox [data-actions].bl {
  bottom: 0px;
  left: 10px;
  transform: translateY(100%);
}
weext-smstextbox [data-actions].br {
  bottom: 0px;
  right: 10px;
  transform: translateY(100%);
}
weext-smstextbox [data-actions].tr {
  top: 0px;
  right: 10px;
  transform: translateY(-100%);
}
weext-smstextbox [data-actions] {
  position: absolute;
  width: auto;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
weext-smstextbox [data-actions] [data-action] {
  margin: 0.2rem;
  white-space: nowrap;
  width: auto;
}
weext-smstextbox textarea {
  border: none;
  height: auto;
  height: 24px;
  font-size: 16px;
  line-height: 1.2;
  flex-grow: 1;
  padding: 10px;
  overflow-y: hidden;
  resize: none;
}
weext-smstextbox textarea:focus-visible {
  outline: none;
}
weext-smstextbox [data-tools] button {
  background-color: transparent;
  border: none;
  width: 30px;
  height: 30px;
  display: flex;
  padding: 0;
  justify-content: center;
  align-items: center;
  border-radius: 0.325rem;
  transition: all 0.4s;
}
weext-smstextbox [data-tools] button > svg {
  fill: var(--smstextbox-border-color);
  height: 30px;
}
weext-smstextbox [data-tools] button:focus, weext-smstextbox [data-tools] button:active, weext-smstextbox [data-tools] button:hover {
  background-color: #aa8fda;
}
weext-smstextbox [data-tools] button:focus > svg, weext-smstextbox [data-tools] button:active > svg, weext-smstextbox [data-tools] button:hover > svg {
  fill: #fff;
}