:root {
  color-scheme: light;
  --people-cloud-blue: #078bd8;
  --people-cloud-cyan: #39c9f4;
  --people-cloud-ink: #083b5c;
}

html,
body,
#root {
  min-height: 100%;
}

body {
  background:
    radial-gradient(circle at 12% 15%, rgba(255,255,255,.96) 0 7%, transparent 7.5%),
    radial-gradient(circle at 87% 84%, rgba(255,255,255,.72) 0 11%, transparent 11.5%),
    linear-gradient(145deg, #effaff 0%, #d8f3ff 38%, #79d8f8 100%);
}

#root > .w-screen {
  position: relative;
  overflow: hidden;
  padding: 40px;
  background:
    radial-gradient(circle at 8% 8%, rgba(255,255,255,.8), transparent 21%),
    radial-gradient(circle at 94% 12%, rgba(255,255,255,.72), transparent 18%);
}

#root > .w-screen::before,
#root > .w-screen::after {
  position: absolute;
  width: 330px;
  height: 100px;
  border-radius: 999px;
  background: rgba(255,255,255,.58);
  box-shadow: 70px -38px 0 8px rgba(255,255,255,.48), 150px 5px 0 14px rgba(255,255,255,.42);
  content: "";
  filter: blur(.2px);
}

#root > .w-screen::before { top: 5%; left: -180px; }
#root > .w-screen::after { right: -150px; bottom: 4%; transform: scale(.8); }

#root > .w-screen > .flex {
  z-index: 1;
  align-items: center;
  gap: 58px;
  padding: 48px 58px;
  border: 1px solid rgba(255,255,255,.84);
  border-radius: 34px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 28px 80px rgba(4,97,153,.18), inset 0 1px rgba(255,255,255,.9);
  backdrop-filter: blur(22px) saturate(1.14);
}

img[src*="login_bg"] {
  width: 310px;
  height: 310px;
  border-radius: 70px;
  content: url('/icons/icon.png');
  object-fit: cover;
  box-shadow: 0 24px 58px rgba(0,130,210,.28);
}

#root .ml-24 {
  margin-left: 0;
}

#root .text-2xl {
  margin-bottom: 42px;
  color: var(--people-cloud-ink);
  font-size: 32px;
  font-weight: 750;
  letter-spacing: .04em;
}

#root .ant-input-affix-wrapper {
  min-height: 50px;
  border-color: rgba(11,146,219,.24);
  border-radius: 15px;
  background: rgba(255,255,255,.82);
  box-shadow: inset 0 1px rgba(255,255,255,.96);
}

#root .ant-input-affix-wrapper:hover,
#root .ant-input-affix-wrapper-focused {
  border-color: var(--people-cloud-cyan);
  box-shadow: 0 0 0 4px rgba(40,184,238,.13);
}

#root .ant-btn-primary {
  min-height: 50px;
  border: 0;
  border-radius: 15px;
  background: linear-gradient(135deg, var(--people-cloud-blue), var(--people-cloud-cyan));
  box-shadow: 0 13px 28px rgba(0,133,210,.25);
  font-weight: 650;
}

#root .ant-checkbox-checked .ant-checkbox-inner {
  border-color: var(--people-cloud-blue);
  background: var(--people-cloud-blue);
}

@media (max-width: 900px) {
  #root > .w-screen { padding: 22px; }
  #root > .w-screen > .flex { width: min(100%, 470px); padding: 34px 28px; }
  img[src*="login_bg"] { display: none; }
  #root form { width: min(100%, 364px) !important; }
}
