:host {
  position: relative;
  box-sizing: border-box;
  font-feature-settings: "cv03", "cv04", "cv11";
}
:host *, :host *:before, :host *:after {
  box-sizing: inherit;
}

.form-control .form-control__label {
  display: none;
}
.form-control .form-control__help-text {
  display: none;
}

.form-control--has-label .form-control__label {
  display: inline-block;
  color: var(--sl-input-label-color);
  margin-bottom: var(--sl-spacing-xx-small);
}
.form-control--has-label.form-control--small .form-control__label {
  font-size: var(--sl-input-label-font-size-small);
}
.form-control--has-label.form-control--medium .form-control__label {
  font-size: var(--sl-input-label-font-size-medium);
}
.form-control--has-label.form-control--large .form-control_label {
  font-size: var(--sl-input-label-font-size-large);
}

.form-control--has-help-text .form-control__help-text {
  display: block;
  color: var(--sl-input-help-text-color);
}
.form-control--has-help-text .form-control__help-text ::slotted(*) {
  margin-top: var(--sl-spacing-xxx-small);
}
.form-control--has-help-text.form-control--small .form-control__help-text {
  font-size: var(--sl-input-help-text-font-size-small);
}
.form-control--has-help-text.form-control--medium .form-control__help-text {
  font-size: var(--sl-input-help-text-font-size-medium);
}
.form-control--has-help-text.form-control--large .form-control__help-text {
  font-size: var(--sl-input-help-text-font-size-large);
}

.form-control--has-error-text .form-control__help-text {
  display: none;
}
.form-control--has-error-text .form-control__input > .input[part=base],
.form-control--has-error-text .form-control__input > .select *[part=select-box] {
  border-color: var(--sl-input-error-text-color);
}
.form-control--has-error-text .form-control__error-text {
  display: block;
  color: var(--sl-input-error-text-color);
}
.form-control--has-error-text .form-control__error-text ::slotted(*) {
  margin-top: var(--sl-spacing-xxx-small);
}
.form-control--has-error-text.form-control--small .form-control__error-text {
  font-size: var(--sl-input-error-text-font-size-small);
}
.form-control--has-error-text.form-control--medium .form-control__error-text {
  font-size: var(--sl-input-error-text-font-size-medium);
}
.form-control--has-error-text.form-control--large .form-control__error-text {
  font-size: var(--sl-input-error-text-font-size-large);
}

.gap-0 {
  gap: 0rem;
}

.gap-x-0 {
  column-gap: 0rem;
}

.gap-y-0 {
  row-gap: 0rem;
}

.gap-1 {
  gap: 0.125rem;
}

.gap-x-1 {
  column-gap: 0.125rem;
}

.gap-y-1 {
  row-gap: 0.125rem;
}

.gap-2 {
  gap: 0.25rem;
}

.gap-x-2 {
  column-gap: 0.25rem;
}

.gap-y-2 {
  row-gap: 0.25rem;
}

.gap-3 {
  gap: 0.5rem;
}

.gap-x-3 {
  column-gap: 0.5rem;
}

.gap-y-3 {
  row-gap: 0.5rem;
}

.gap-4 {
  gap: 0.75rem;
}

.gap-x-4 {
  column-gap: 0.75rem;
}

.gap-y-4 {
  row-gap: 0.75rem;
}

.gap-5 {
  gap: 1rem;
}

.gap-x-5 {
  column-gap: 1rem;
}

.gap-y-5 {
  row-gap: 1rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-x-6 {
  column-gap: 1.5rem;
}

.gap-y-6 {
  row-gap: 1.5rem;
}

.gap-7 {
  gap: 2rem;
}

.gap-x-7 {
  column-gap: 2rem;
}

.gap-y-7 {
  row-gap: 2rem;
}

.gap-8 {
  gap: 3rem;
}

.gap-x-8 {
  column-gap: 3rem;
}

.gap-y-8 {
  row-gap: 3rem;
}

.gap-9 {
  gap: 4rem;
}

.gap-x-9 {
  column-gap: 4rem;
}

.gap-y-9 {
  row-gap: 4rem;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.grid-cols-9 {
  grid-template-columns: repeat(9, minmax(0, 1fr));
}

.grid-cols-10 {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}

.grid-cols-11 {
  grid-template-columns: repeat(11, minmax(0, 1fr));
}

.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.grid-cols-none {
  grid-template-columns: none;
}

.grid-rows-1 {
  grid-template-rows: repeat(1, minmax(0, 1fr));
}

.grid-rows-2 {
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.grid-rows-3 {
  grid-template-rows: repeat(3, minmax(0, 1fr));
}

.grid-rows-4 {
  grid-template-rows: repeat(4, minmax(0, 1fr));
}

.grid-rows-5 {
  grid-template-rows: repeat(5, minmax(0, 1fr));
}

.grid-rows-6 {
  grid-template-rows: repeat(6, minmax(0, 1fr));
}

.grid-rows-7 {
  grid-template-rows: repeat(7, minmax(0, 1fr));
}

.grid-rows-8 {
  grid-template-rows: repeat(8, minmax(0, 1fr));
}

.grid-rows-9 {
  grid-template-rows: repeat(9, minmax(0, 1fr));
}

.grid-rows-10 {
  grid-template-rows: repeat(10, minmax(0, 1fr));
}

.grid-rows-11 {
  grid-template-rows: repeat(11, minmax(0, 1fr));
}

.grid-rows-12 {
  grid-template-rows: repeat(12, minmax(0, 1fr));
}

.grid-rows-none {
  grid-template-rows: none;
}

.col-span-1 {
  grid-column: span 1/span 1;
}

.col-start-1 {
  grid-column-start: 1;
}

.col-end-1 {
  grid-column-end: 1;
}

.col-span-2 {
  grid-column: span 2/span 2;
}

.col-start-2 {
  grid-column-start: 2;
}

.col-end-2 {
  grid-column-end: 2;
}

.col-span-3 {
  grid-column: span 3/span 3;
}

.col-start-3 {
  grid-column-start: 3;
}

.col-end-3 {
  grid-column-end: 3;
}

.col-span-4 {
  grid-column: span 4/span 4;
}

.col-start-4 {
  grid-column-start: 4;
}

.col-end-4 {
  grid-column-end: 4;
}

.col-span-5 {
  grid-column: span 5/span 5;
}

.col-start-5 {
  grid-column-start: 5;
}

.col-end-5 {
  grid-column-end: 5;
}

.col-span-6 {
  grid-column: span 6/span 6;
}

.col-start-6 {
  grid-column-start: 6;
}

.col-end-6 {
  grid-column-end: 6;
}

.col-span-7 {
  grid-column: span 7/span 7;
}

.col-start-7 {
  grid-column-start: 7;
}

.col-end-7 {
  grid-column-end: 7;
}

.col-span-8 {
  grid-column: span 8/span 8;
}

.col-start-8 {
  grid-column-start: 8;
}

.col-end-8 {
  grid-column-end: 8;
}

.col-span-9 {
  grid-column: span 9/span 9;
}

.col-start-9 {
  grid-column-start: 9;
}

.col-end-9 {
  grid-column-end: 9;
}

.col-span-10 {
  grid-column: span 10/span 10;
}

.col-start-10 {
  grid-column-start: 10;
}

.col-end-10 {
  grid-column-end: 10;
}

.col-span-11 {
  grid-column: span 11/span 11;
}

.col-start-11 {
  grid-column-start: 11;
}

.col-end-11 {
  grid-column-end: 11;
}

.col-span-12 {
  grid-column: span 12/span 12;
}

.col-start-12 {
  grid-column-start: 12;
}

.col-end-12 {
  grid-column-end: 12;
}

.col-start-13 {
  grid-column-start: 13;
}

.col-end-13 {
  grid-column-end: 13;
}

.col-auto {
  grid-row: auto;
}

.col-span-full {
  grid-column: 1/-1;
}

.col-start-auto {
  grid-column-start: auto;
}

.col-end-auto {
  grid-column-end: auto;
}

.row-span-1 {
  grid-row: span 1/span 1;
}

.row-start-1 {
  grid-row-start: 1;
}

.row-end-1 {
  grid-row-end: 1;
}

.row-span-2 {
  grid-row: span 2/span 2;
}

.row-start-2 {
  grid-row-start: 2;
}

.row-end-2 {
  grid-row-end: 2;
}

.row-span-3 {
  grid-row: span 3/span 3;
}

.row-start-3 {
  grid-row-start: 3;
}

.row-end-3 {
  grid-row-end: 3;
}

.row-span-4 {
  grid-row: span 4/span 4;
}

.row-start-4 {
  grid-row-start: 4;
}

.row-end-4 {
  grid-row-end: 4;
}

.row-span-5 {
  grid-row: span 5/span 5;
}

.row-start-5 {
  grid-row-start: 5;
}

.row-end-5 {
  grid-row-end: 5;
}

.row-span-6 {
  grid-row: span 6/span 6;
}

.row-start-6 {
  grid-row-start: 6;
}

.row-end-6 {
  grid-row-end: 6;
}

.row-start-7 {
  grid-row-start: 7;
}

.row-end-7 {
  grid-row-end: 7;
}

.row-auto {
  grid-row: auto;
}

.row-span-full {
  grid-row: 1/-1;
}

.row-start-auto {
  grid-row-start: auto;
}

.row-end-auto {
  grid-row-end: auto;
}

.grid {
  display: grid;
}

.grid-flow-row {
  grid-auto-flow: row;
}

.grid-flow-col {
  grid-auto-flow: column;
}

.grid-flow-row-dense {
  grid-auto-flow: row dense;
}

.grid-flow-col-dense {
  grid-auto-flow: column dense;
}

.auto-cols-auto {
  grid-auto-columns: auto;
}

.auto-cols-min {
  grid-auto-columns: min-content;
}

.auto-cols-max {
  grid-auto-columns: max-content;
}

.auto-cols-fr {
  grid-auto-columns: minmax(0, 1fr);
}

.auto-rows-auto {
  grid-auto-rows: auto;
}

.auto-rows-min {
  grid-auto-rows: min-content;
}

.auto-rows-max {
  grid-auto-rows: max-content;
}

.auto-rows-fr {
  grid-auto-rows: minmax(0, 1fr);
}

:host {
  display: block;
}

.otp-input {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(var(--sl-spacing-medium) * var(--sl-density));
}
.otp-input > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(var(--sl-spacing-x-small) * var(--sl-density));
}
.otp-input sl-input::part(input) {
  font-weight: var(--sl-font-weight-bold);
  font-size: var(--sl-font-size-large);
  margin-left: calc(var(--sl-spacing-small) * var(--sl-density));
  margin-right: calc(var(--sl-spacing-small) * var(--sl-density));
}