:root {
  --lc-field-bg: rgba(15,23,42,.72);
  --lc-field-text: #eef5ff;
  --lc-field-muted: #91a0b8;
  --lc-field-border: rgba(148,163,184,.2);
  --lc-field-focus: #60a5fa;
  --lc-field-ring: rgba(59,130,246,.15);
  --lc-field-disabled: rgba(30,41,59,.52);
}

html[data-theme="light"] {
  --lc-field-bg: #f4f7fb;
  --lc-field-text: #14233a;
  --lc-field-muted: #64748b;
  --lc-field-border: #cbd6e5;
  --lc-field-focus: #2563eb;
  --lc-field-ring: rgba(37,99,235,.13);
  --lc-field-disabled: #e9eef5;
}

body:not(.public-site) :is(input,select,textarea):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="button"]):not([type="submit"]):not([type="reset"]) {
  border-color: var(--lc-field-border) !important;
  border-radius: 12px !important;
  background-color: var(--lc-field-bg) !important;
  color: var(--lc-field-text) !important;
  -webkit-text-fill-color: var(--lc-field-text);
  caret-color: var(--lc-field-focus);
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease, transform .2s ease;
}

body:not(.public-site) :is(input,textarea)::placeholder {
  color: var(--lc-field-muted) !important;
  opacity: .82;
}

body:not(.public-site) :is(input,select,textarea):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):focus {
  border-color: var(--lc-field-focus) !important;
  box-shadow: 0 0 0 4px var(--lc-field-ring) !important;
  outline: none !important;
}

body:not(.public-site) :is(input,select,textarea):disabled {
  background-color: var(--lc-field-disabled) !important;
  color: var(--lc-field-muted) !important;
  -webkit-text-fill-color: var(--lc-field-muted);
  cursor: not-allowed;
  opacity: .72;
}

body:not(.public-site) select option {
  background: var(--lc-field-bg);
  color: var(--lc-field-text);
}

body:not(.public-site) :is(input,textarea):-webkit-autofill,
body:not(.public-site) :is(input,textarea):-webkit-autofill:hover,
body:not(.public-site) :is(input,textarea):-webkit-autofill:focus {
  -webkit-text-fill-color: var(--lc-field-text) !important;
  box-shadow: 0 0 0 1000px var(--lc-field-bg) inset !important;
  caret-color: var(--lc-field-text);
}

body:not(.public-site) :is(input,select,textarea):user-invalid {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 4px rgba(239,68,68,.1) !important;
}

body:not(.public-site) :is(input[type="checkbox"],input[type="radio"],input[type="range"]) {
  accent-color: var(--lc-field-focus);
}

body:not(.public-site) form label:has(> :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"])) {
  color: var(--lc-field-muted);
  transition: color .2s ease, transform .2s ease;
}

body:not(.public-site) form label:has(> :is(input,select,textarea):focus) {
  color: var(--lc-field-focus);
}

body:not(.public-site) form :is(fieldset,legend) { border-color: var(--lc-field-border); }

.lc-floating-field {
  position: relative;
  display: block !important;
  min-width: 0;
}

.lc-floating-field > :is(input,select,textarea) {
  display: block;
  width: 100%;
  min-height: 56px;
  padding: 22px 14px 7px !important;
  border-radius: 14px !important;
}

body:not(.public-site) .lc-floating-field > :is(input,textarea)::placeholder {
  color: transparent !important;
  opacity: 0;
  transition: color .2s ease, opacity .2s ease;
}

body:not(.public-site) .lc-floating-field > :is(input,textarea):focus::placeholder {
  color: var(--lc-field-muted) !important;
  opacity: .68;
}

.lc-floating-field.lc-floating-textarea > textarea {
  min-height: 104px;
  padding-top: 27px !important;
  resize: vertical;
}

.lc-floating-field.lc-floating-textarea > .lc-floating-label {
  top: 22px;
}

.lc-floating-field > .lc-floating-label {
  position: absolute;
  z-index: 1;
  left: 14px;
  top: 50%;
  max-width: calc(100% - 28px);
  overflow: hidden;
  transform: translateY(-50%);
  color: var(--lc-field-muted) !important;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  transition: top .2s ease, transform .2s ease, color .2s ease, font-size .2s ease, letter-spacing .2s ease;
}

.lc-floating-field > .lc-floating-label em {
  margin-left: 4px;
  font-size: 9px;
  font-style: normal;
  font-weight: 500;
}

.lc-floating-field > :is(input,textarea):focus + .lc-floating-label,
.lc-floating-field > :is(input,textarea):not(:placeholder-shown) + .lc-floating-label,
.lc-floating-field > :is(input,textarea):-webkit-autofill + .lc-floating-label,
.lc-floating-field > select:focus + .lc-floating-label,
.lc-floating-field > select:valid + .lc-floating-label {
  top: 9px;
  transform: none;
  color: var(--lc-field-focus) !important;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.lc-floating-field.lc-floating-select > .lc-floating-label,
.lc-floating-field.lc-floating-always > .lc-floating-label,
.lc-floating-field.lc-floating-textarea > :is(textarea:focus,textarea:not(:placeholder-shown)) + .lc-floating-label {
  top: 9px;
  transform: none;
  color: var(--lc-field-focus) !important;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.lc-floating-field.lc-floating-select > select,
.lc-floating-field.lc-floating-always > input {
  padding-top: 22px !important;
}

body:not(.public-site) :is(button,a,[role="button"]):focus-visible {
  outline: 3px solid var(--lc-field-focus);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  body:not(.public-site) form *,
  body:not(.public-site) form *::before,
  body:not(.public-site) form *::after { transition: none !important; }
}
